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 (
    109673, 109488, 109235, 109234, 109233, 
    109737, 109148, 109147, 109146, 109145, 
    109144, 109143, 109142, 109779, 109778, 
    109135, 109702, 109701, 109700, 109699
  ) 
  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.00118

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
109135 1.69000000
109142 1.69000000
109143 1.69000000
109144 1.69000000
109145 1.69000000
109146 1.69000000
109147 1.69000000
109148 1.69000000
109233 1.69000000
109234 1.69000000
109235 1.69000000
109488 1.69000000
109673 1.69000000
109699 1.69000000
109700 1.69000000
109701 1.69000000
109702 1.69000000
109737 1.69000000
109778 1.69000000
109779 1.69000000