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 (
    10431, 10430, 10429, 10428, 10427, 10426, 
    10425, 12564, 10424, 10423, 10422, 
    10421, 10420, 10419, 10418, 10417, 
    12856, 10416, 10415, 10414
  ) 
  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.00091

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": 20,
      "filtered": 99.23484039,
      "index_condition": "cscart_product_prices.product_id in (10431,10430,10429,10428,10427,10426,10425,12564,10424,10423,10422,10421,10420,10419,10418,10417,12856,10416,10415,10414)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10414 1317.94000000
10415 1317.94000000
10416 1317.94000000
10417 1317.94000000
10418 1317.94000000
10419 1317.94000000
10420 1317.94000000
10421 1317.94000000
10422 1317.94000000
10423 1317.94000000
10424 1317.94000000
10425 1671.44000000
10426 1671.44000000
10427 1671.44000000
10428 1671.44000000
10429 1671.44000000
10430 1671.44000000
10431 1671.44000000
12564 67629.15000000
12856 1317.94000000