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 (
    3321, 10101, 10172, 8878, 514, 10070, 
    8295, 3315, 7353, 4939, 480, 3318
  ) 
  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.00059

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

Result

product_id price
480 1932.000000
514 105.850000
3315 0.000000
3318 198.000000
3321 175.000000
4939 249.000000
7353 203.000000
8295 240.000000
8878 0.000000
10070 315.180000
10101 0.000000
10172 2500.000000