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 (
    10504, 10503, 10502, 10501, 10500, 10499, 
    10498, 10497, 12592, 12591, 12590, 
    12588, 13091, 12623, 12587, 12585, 
    12595, 12593, 12620, 12619
  ) 
  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.00052

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 (10504,10503,10502,10501,10500,10499,10498,10497,12592,12591,12590,12588,13091,12623,12587,12585,12595,12593,12620,12619)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10497 3599.16000000
10498 3599.16000000
10499 3599.16000000
10500 3599.16000000
10501 3599.16000000
10502 4033.73000000
10503 4033.73000000
10504 4033.73000000
12585 209523.67000000
12587 209523.67000000
12588 6750.00000000
12590 67629.15000000
12591 67629.15000000
12592 64680.00000000
12593 349146.47000000
12595 131354.16000000
12619 131354.16000000
12620 131354.16000000
12623 209523.67000000
13091 6750.00000000