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 (
    12974, 12975, 12976, 12977, 12978, 12979, 
    12980, 12981, 12971, 12983, 12984, 
    17670, 17671, 17672, 17673, 17674, 
    17675, 17676, 17677, 17678
  ) 
  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.00051

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": 29,
      "filtered": 99.94493103,
      "index_condition": "cscart_product_prices.product_id in (12974,12975,12976,12977,12978,12979,12980,12981,12971,12983,12984,17670,17671,17672,17673,17674,17675,17676,17677,17678)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
12971 390.00000000
12974 780.00000000
12975 780.00000000
12976 780.00000000
12977 780.00000000
12978 780.00000000
12979 780.00000000
12980 780.00000000
12981 780.00000000
12983 400.00000000
12984 800.00000000
17670 4528.96000000
17671 4528.96000000
17672 4528.96000000
17673 4528.96000000
17674 4528.96000000
17675 4528.96000000
17676 4528.97000000
17677 4528.96000000
17678 4528.96000000