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 (
    5541, 5548, 5537, 5535, 5534, 5547, 5543, 
    5545, 5536, 5539, 5542, 5538, 5549, 
    5546, 5540, 5544, 6788, 6725, 6726, 
    6785, 6786, 6789, 6787
  ) 
  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.00056

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": 23,
      "filtered": 93.46080017,
      "index_condition": "cscart_product_prices.product_id in (5541,5548,5537,5535,5534,5547,5543,5545,5536,5539,5542,5538,5549,5546,5540,5544,6788,6725,6726,6785,6786,6789,6787)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
5534 1976.250000
5535 1976.250000
5536 1976.250000
5537 1976.250000
5538 1976.250000
5539 1976.250000
5540 1976.250000
5541 1976.250000
5542 2631.250000
5543 2631.250000
5544 2631.250000
5545 2631.250000
5546 2631.250000
5547 2631.250000
5548 2631.250000
5549 2631.250000
6725 3187.500000
6726 2831.250000
6785 2520.630000
6786 2568.750000
6787 1993.750000
6788 2678.750000
6789 2171.250000