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 (
    99645, 98789, 89238, 99517, 98766, 92937, 
    99473, 99472, 99471, 99470, 99469, 
    99467, 99466, 99442, 99437, 99432, 
    99428, 99414, 99276, 99271
  ) 
  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.00078

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
89238 1.69000000
92937 1.69000000
98766 1.69000000
98789 1.69000000
99271 1.69000000
99276 1.69000000
99414 1.69000000
99428 1.69000000
99432 1.69000000
99437 1.69000000
99442 1.69000000
99466 1.69000000
99467 1.69000000
99469 1.69000000
99470 1.69000000
99471 1.69000000
99472 1.69000000
99473 1.69000000
99517 1.69000000
99645 1.69000000