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 (
    617, 616, 625, 606, 622, 609, 603, 638, 
    608, 627, 620, 619, 601, 9480, 624, 605, 
    9476, 642, 604, 644, 602, 630, 632, 640, 
    629, 646, 635, 641, 631, 636
  ) 
  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.00077

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 product_id 3 31 Using index condition; Using where

Result

product_id price
601 4.650000
602 4.920000
603 6.800000
604 6.900000
605 8.300000
606 7.910000
608 29.330000
609 2.200000
616 3.260000
617 3.320000
619 11.190000
620 9.320000
622 0.000000
624 24.640000
625 64.650000
627 0.000000
629 34.360000
630 18.520000
631 12.600000
632 39.520000
635 39.520000
636 4.730000
638 58.000000
640 3.510000
641 14.640000
642 19.770000
644 19.770000
646 12.600000
9476 15.330000
9480 3.320000