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 (
    47948, 47947, 47946, 47945, 47944, 47943, 
    47942, 47941, 47940, 47939, 47938, 
    47937, 47936, 47935, 47934, 47933, 
    47932, 47806, 47805, 47804
  ) 
  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.00066

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
47804 1.69000000
47805 1.69000000
47806 8.99000000
47932 1.69000000
47933 1.69000000
47934 1.69000000
47935 1.69000000
47936 1.69000000
47937 1.69000000
47938 1.69000000
47939 1.69000000
47940 1.69000000
47941 1.69000000
47942 1.69000000
47943 1.69000000
47944 1.69000000
47945 1.69000000
47946 1.69000000
47947 1.69000000
47948 1.69000000