SELECT 
  cscart_product_prices.product_id, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_product_prices 
WHERE 
  cscart_product_prices.product_id IN (
    105252, 105251, 105229, 105228, 105227, 
    105226, 105225, 105224, 105223, 105222, 
    105221, 105220, 105219, 103726, 103725, 
    103724, 103723, 103722, 103721, 103720
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00062

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_product_prices range usergroup,product_id,lower_limit,usergroup_id usergroup 9 40 Using where

Result

product_id price
103720 1.69000000
103721 1.69000000
103722 1.69000000
103723 1.69000000
103724 1.69000000
103725 1.69000000
103726 1.69000000
105219 1.69000000
105220 1.69000000
105221 1.69000000
105222 1.69000000
105223 1.69000000
105224 1.69000000
105225 1.69000000
105226 1.69000000
105227 1.69000000
105228 1.69000000
105229 8.99000000
105251 1.69000000
105252 1.69000000