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 (
    44056, 44055, 44054, 44053, 44052, 44051, 
    44050, 44049, 44048, 44047, 43826, 
    43825, 43824, 43823, 43822, 43821, 
    43820, 43819, 43818, 43817
  ) 
  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.00047

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
43817 1.69000000
43818 1.69000000
43819 1.69000000
43820 1.69000000
43821 1.69000000
43822 1.69000000
43823 1.69000000
43824 1.69000000
43825 1.69000000
43826 8.99000000
44047 1.69000000
44048 1.69000000
44049 1.69000000
44050 1.69000000
44051 1.69000000
44052 1.69000000
44053 1.69000000
44054 1.69000000
44055 1.69000000
44056 1.69000000