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 (
    86818, 86816, 86673, 86546, 86298, 86564, 
    87403, 87401, 86580, 88424, 86807, 
    86875, 86874, 86872, 86869, 86867, 
    86866, 86771, 86770, 86769
  ) 
  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.00095

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
86298 1.69000000
86546 1.69000000
86564 1.69000000
86580 1.69000000
86673 1.69000000
86769 1.69000000
86770 1.69000000
86771 1.69000000
86807 1.69000000
86816 1.69000000
86818 1.69000000
86866 1.69000000
86867 1.69000000
86869 1.69000000
86872 1.69000000
86874 1.69000000
86875 1.69000000
87401 1.69000000
87403 1.69000000
88424 1.69000000