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 (
    59575, 59574, 59573, 59572, 59571, 59570, 
    59569, 59568, 59567, 59566, 59565, 
    59564, 59563, 59562, 59561, 59560, 
    59559, 59558, 59557, 59556
  ) 
  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.00062

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
59556 1.69000000
59557 1.69000000
59558 1.69000000
59559 1.69000000
59560 1.69000000
59561 1.69000000
59562 1.69000000
59563 1.69000000
59564 1.69000000
59565 1.69000000
59566 1.69000000
59567 1.69000000
59568 1.69000000
59569 1.69000000
59570 1.69000000
59571 1.69000000
59572 1.69000000
59573 1.69000000
59574 1.69000000
59575 1.69000000