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 (
    5300, 5297, 1103, 1102, 1104, 43834, 
    1105, 1107, 43825, 1106, 2620, 47567, 
    48837, 49710, 50295, 50304
  ) 
  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.00485

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "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": 16,
          "filtered": 99.9960556,
          "index_condition": "cscart_product_prices.product_id in (5300,5297,1103,1102,1104,43834,1105,1107,43825,1106,2620,47567,48837,49710,50295,50304)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
1102 990000.0000
1103 583000.0000
1104 583000.0000
1105 583000.0000
1106 583000.0000
1107 583000.0000
2620 583000.0000
5297 552000.0000
5300 552000.0000
43825 577000.0000
43834 570000.0000
47567 890000.0000
48837 850000.0000
49710 590000.0000
50295 780000.0000
50304 620000.0000