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 (
    61446, 62843, 63852, 62839, 62841, 63853, 
    63854, 62840, 61448, 62845, 62847, 
    64947, 64849, 64850
  ) 
  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.00072

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": "9",
      "used_key_parts": ["product_id", "usergroup_id", "lower_limit"],
      "rowid_filter": {
        "range": {
          "key": "lower_limit",
          "used_key_parts": ["lower_limit", "product_id", "usergroup_id"]
        },
        "rows": 28,
        "selectivity_pct": 1.037805782
      },
      "rows": 28,
      "filtered": 100,
      "index_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (61446,62843,63852,62839,62841,63853,63854,62840,61448,62845,62847,64947,64849,64850) and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
61446 603.000000
61448 717.000000
62839 490.000000
62840 329.000000
62841 340.000000
62843 336.000000
62845 516.000000
62847 494.000000
63852 389.000000
63853 465.000000
63854 541.000000
64849 525.000000
64850 469.000000
64947 440.000000