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 (
    43593, 43592, 43591, 43590, 43589, 43588, 
    43587, 43586, 43585, 43584, 43583, 
    43582, 43581, 43580, 43579, 43578, 
    43577, 43576, 43575, 43574
  ) 
  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.00081

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
43574 1.69000000
43575 1.69000000
43576 1.69000000
43577 1.69000000
43578 1.69000000
43579 1.69000000
43580 1.69000000
43581 1.69000000
43582 1.69000000
43583 1.69000000
43584 1.69000000
43585 1.69000000
43586 1.69000000
43587 1.69000000
43588 1.69000000
43589 1.69000000
43590 1.69000000
43591 1.69000000
43592 1.69000000
43593 1.69000000