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 (
    84954, 84953, 84952, 84950, 84948, 84906, 
    84905, 84904, 84903, 84902, 84901, 
    84900, 84899, 84898, 84897, 84896, 
    84895, 84628, 84627, 84600, 84599, 
    84597, 84943, 84942, 84919, 84918, 
    84917, 84916, 84915, 84639, 84549, 
    84977, 84811, 84810, 84809, 84808, 
    84807, 84806, 84805, 84804
  ) 
  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.00107

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 80 Using where

Result

product_id price
84549 1.69000000
84597 1.69000000
84599 1.69000000
84600 1.69000000
84627 1.69000000
84628 1.69000000
84639 1.69000000
84804 1.69000000
84805 1.69000000
84806 1.69000000
84807 1.69000000
84808 1.69000000
84809 1.69000000
84810 1.69000000
84811 1.69000000
84895 1.69000000
84896 1.69000000
84897 1.69000000
84898 1.69000000
84899 1.69000000
84900 1.69000000
84901 1.69000000
84902 1.69000000
84903 1.69000000
84904 1.69000000
84905 1.69000000
84906 1.69000000
84915 1.69000000
84916 1.69000000
84917 1.69000000
84918 1.69000000
84919 1.69000000
84942 1.69000000
84943 1.69000000
84948 1.69000000
84950 1.69000000
84952 1.69000000
84953 1.69000000
84954 1.69000000
84977 1.69000000