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 (
    42268, 42267, 42266, 42265, 42264, 42263, 
    42262, 42261, 42260, 42259, 42258, 
    42257, 42256, 42255, 42254, 42253, 
    42252, 42251, 42250, 42249
  ) 
  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.00059

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
42249 1.69000000
42250 1.69000000
42251 1.69000000
42252 1.69000000
42253 1.69000000
42254 1.69000000
42255 1.69000000
42256 1.69000000
42257 1.69000000
42258 1.69000000
42259 1.69000000
42260 1.69000000
42261 1.69000000
42262 1.69000000
42263 1.69000000
42264 1.69000000
42265 1.69000000
42266 1.69000000
42267 1.69000000
42268 1.69000000