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 (
    615, 616, 617, 618, 619, 620, 621, 622, 
    623, 624, 625, 626, 627, 628, 629, 630, 
    631, 632, 633, 634, 635, 636, 637, 638
  ) 
  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.00123

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "cscart_product_prices",
      "access_type": "range",
      "possible_keys": ["usergroup", "product_id", "lower_limit", "usergroup_id"],
      "key": "product_id",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 24,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
615 0.00000000
616 0.00000000
617 1284000.00000000
618 0.00000000
619 105000.00000000
620 0.00000000
621 0.00000000
622 0.00000000
623 0.00000000
624 0.00000000
625 0.00000000
626 185000.00000000
627 0.00000000
628 0.00000000
629 46000.00000000
630 0.00000000
631 0.00000000
632 0.00000000
633 0.00000000
634 0.00000000
635 0.00000000
636 0.00000000
637 0.00000000
638 0.00000000