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 (
    9845, 9853, 9843, 478, 3321, 514, 8295, 
    480, 9851, 9842, 9849, 479, 9848, 9838, 
    9850, 9839, 9855, 9854, 9844, 9840, 
    9841, 9852
  ) 
  AND cscart_ult_product_prices.lower_limit = 1 
  AND cscart_ult_product_prices.company_id = 3 
  AND cscart_ult_product_prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  cscart_ult_product_prices.product_id

Query time 0.00067

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 44 Using index condition

Result

product_id price
478 131.000000
479 1380.000000
480 1932.000000
514 105.850000
3321 175.000000
8295 240.000000
9838 110.000000
9839 221.000000
9840 0.000000
9841 0.000000
9842 302.000000
9843 400.000000
9844 0.000000
9845 0.000000
9848 302.000000
9849 1311.000000
9850 233.000000
9851 302.000000
9852 571.000000
9853 350.000000
9854 0.000000
9855 0.000000