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 (
    101756, 101755, 101754, 101753, 101752, 
    101751, 101750, 101749, 101748, 101747, 
    101716, 101715, 101469, 101468, 101373, 
    101372, 101954, 101943, 101360, 101359
  ) 
  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.00065

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
101359 1.69000000
101360 1.69000000
101372 1.69000000
101373 1.69000000
101468 1.69000000
101469 1.69000000
101715 1.69000000
101716 1.69000000
101747 1.69000000
101748 1.69000000
101749 1.69000000
101750 1.69000000
101751 1.69000000
101752 1.69000000
101753 1.69000000
101754 1.69000000
101755 1.69000000
101756 1.69000000
101943 1.69000000
101954 1.69000000