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 (
    100653, 100652, 100651, 100650, 100649, 
    101334, 101333, 101332, 101331, 101330, 
    101329, 101328, 101327, 101326, 101325, 
    101324, 101323, 101322, 101321, 101320
  ) 
  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.00066

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
100649 1.69000000
100650 1.69000000
100651 1.69000000
100652 1.69000000
100653 1.69000000
101320 1.69000000
101321 1.69000000
101322 1.69000000
101323 1.69000000
101324 1.69000000
101325 1.69000000
101326 1.69000000
101327 1.69000000
101328 1.69000000
101329 1.69000000
101330 1.69000000
101331 1.69000000
101332 1.69000000
101333 1.69000000
101334 1.69000000