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 (
    12954, 12955, 12947, 12949, 12946, 12948, 
    12956, 17725, 17726, 17727, 17728, 
    17729, 17730, 17731, 17732, 12958, 
    12960, 12959, 12962, 12964
  ) 
  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.00066

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": 26,
      "filtered": 99.94493103,
      "index_condition": "cscart_product_prices.product_id in (12954,12955,12947,12949,12946,12948,12956,17725,17726,17727,17728,17729,17730,17731,17732,12958,12960,12959,12962,12964)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
12946 1000.00000000
12947 1000.00000000
12948 1000.00000000
12949 1000.00000000
12954 1000.00000000
12955 1000.00000000
12956 1000.00000000
12958 400.00000000
12959 200.00000000
12960 400.00000000
12962 540.00000000
12964 540.00000000
17725 1061.87000000
17726 1061.87000000
17727 1061.87000000
17728 1061.87000000
17729 1061.87000000
17730 1061.87000000
17731 1061.87000000
17732 1061.87000000