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 (
    89591, 89586, 89585, 89584, 89583, 89121, 
    89120, 89119, 89118, 89117, 89116, 
    89089, 89088, 89087, 89695, 89549, 
    89548, 89547, 89482, 89283, 89097, 
    89096, 89095, 89094, 89093, 89091, 
    89050, 89049, 89048, 89508, 89507, 
    89506, 89505, 89504, 89025, 89024, 
    89023, 89022, 89021, 89020
  ) 
  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.00134

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
89020 1.69000000
89021 1.69000000
89022 1.69000000
89023 1.69000000
89024 1.69000000
89025 1.69000000
89048 1.69000000
89049 1.69000000
89050 1.69000000
89087 1.69000000
89088 1.69000000
89089 1.69000000
89091 1.69000000
89093 1.69000000
89094 1.69000000
89095 1.69000000
89096 1.69000000
89097 1.69000000
89116 1.69000000
89117 1.69000000
89118 1.69000000
89119 1.69000000
89120 1.69000000
89121 1.69000000
89283 1.69000000
89482 1.69000000
89504 1.69000000
89505 1.69000000
89506 1.69000000
89507 1.69000000
89508 1.69000000
89547 1.69000000
89548 1.69000000
89549 1.69000000
89583 1.69000000
89584 1.69000000
89585 1.69000000
89586 1.69000000
89591 1.69000000
89695 1.69000000