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 (
    112520, 112519, 112518, 112517, 112516, 
    112515, 112514, 112513, 112512, 112511, 
    112510, 112509, 112508, 112507, 112506, 
    112505, 112504, 111885, 111884, 111883
  ) 
  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.00087

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
111883 1.69000000
111884 1.69000000
111885 1.69000000
112504 1.69000000
112505 1.69000000
112506 1.69000000
112507 1.69000000
112508 1.69000000
112509 1.69000000
112510 1.69000000
112511 1.69000000
112512 1.69000000
112513 1.69000000
112514 1.69000000
112515 1.69000000
112516 1.69000000
112517 1.69000000
112518 1.69000000
112519 1.69000000
112520 1.69000000