SELECT 
  cscart_product_prices.product_id, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_product_prices 
WHERE 
  cscart_product_prices.product_id IN (
    39767, 39766, 39765, 39764, 39763, 39762, 
    39761, 39760, 39759, 39758, 39757, 
    39756, 39755, 39754, 39753, 39752, 
    39751, 39750, 39749, 39748
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00057

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_product_prices range usergroup,product_id,lower_limit,usergroup_id usergroup 9 40 Using where

Result

product_id price
39748 1.69000000
39749 1.69000000
39750 1.69000000
39751 1.69000000
39752 1.69000000
39753 1.69000000
39754 1.69000000
39755 1.69000000
39756 1.69000000
39757 1.69000000
39758 1.69000000
39759 1.69000000
39760 1.69000000
39761 1.69000000
39762 1.69000000
39763 1.69000000
39764 1.69000000
39765 1.69000000
39766 1.69000000
39767 1.69000000