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 (
    9861, 3520, 580, 8347, 1167, 3246, 1162, 
    1196, 1193, 1628, 583, 1159
  ) 
  AND cscart_ult_product_prices.lower_limit = 1 
  AND cscart_ult_product_prices.company_id = 2 
  AND cscart_ult_product_prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  cscart_ult_product_prices.product_id

Query time 0.00060

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 product_id 3 30 Using index condition; Using where

Result

product_id price
580 32.710000
583 77.810000
1159 25.320000
1162 0.000000
1167 34.340000
1193 8.900000
1196 40.000000
1628 35.700000
3246 48.380000
3520 11.020000
8347 14.990000
9861 19.240000