SELECT 
  cscart_ult_product_prices.product_id, 
  MIN(
    IF(
      cscart_ult_product_prices.percentage_discount = 0, 
      cscart_ult_product_prices.price, 
      cscart_ult_product_prices.price - (
        cscart_ult_product_prices.price * cscart_ult_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_ult_product_prices 
WHERE 
  cscart_ult_product_prices.product_id IN (
    89019, 89018, 89017, 89016, 89015, 89014, 
    88971, 89484, 89444, 89278, 88869, 
    88868, 89442, 89441, 89440, 89439, 
    89438, 89139, 89138, 89137, 89136, 
    89135, 89134, 89133, 89132, 89131, 
    89130, 89129, 89128, 89127, 89126, 
    89125, 89124, 89123, 89122, 88918, 
    88726, 88725, 88724, 88723
  ) 
  AND cscart_ult_product_prices.lower_limit = 1 
  AND cscart_ult_product_prices.company_id = 1 
  AND cscart_ult_product_prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  cscart_ult_product_prices.product_id

Query time 0.00061

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_ult_product_prices range usergroup,product_id,company_id,lower_limit,usergroup_id usergroup 13 1 Using where