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 (
    15326, 15325, 15324, 15323, 15289, 15290, 
    42114, 42113, 42112, 42111, 15164, 
    15163, 15159, 15132, 15129, 15128, 
    15127, 15162, 15123, 14859, 14857, 
    14856, 14849, 14844, 14836, 14827, 
    14825, 14822, 14817, 14833, 14832, 
    14831, 14830, 14829, 14828, 14826, 
    14824, 14823, 14821, 14820
  ) 
  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.00051

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