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 (
    59546, 59545, 59544, 59543, 59542, 59541, 
    59540, 59539, 59538, 59537, 59536, 
    59535, 59534, 59533, 59532, 59530, 
    59529, 59528, 59527, 59526
  ) 
  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.00074

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
59526 1.69000000
59527 1.69000000
59528 1.69000000
59529 1.69000000
59530 1.69000000
59532 1.69000000
59533 1.69000000
59534 1.69000000
59535 1.69000000
59536 1.69000000
59537 1.69000000
59538 1.69000000
59539 1.69000000
59540 1.69000000
59541 1.69000000
59542 1.69000000
59543 1.69000000
59544 1.69000000
59545 1.69000000
59546 1.69000000