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 (
    21831, 18743, 12099, 12259, 12174, 12166, 
    12241, 11885, 11739, 11625, 11646, 
    11460, 11463, 10820, 10693, 10690, 
    10646, 10639, 10573, 10568
  ) 
  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.00082

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
10568 1.69000000
10573 1.69000000
10639 1.69000000
10646 1.69000000
10690 1.69000000
10693 1.69000000
10820 1.69000000
11460 1.69000000
11463 1.69000000
11625 1.69000000
11646 1.69000000
11739 1.69000000
11885 1.69000000
12099 1.69000000
12166 1.69000000
12174 1.69000000
12241 1.69000000
12259 1.69000000
18743 1.69000000
21831 1.69000000