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 (
    48998, 2921, 33177, 33214, 41446, 4386, 
    47009, 5571, 5730, 5418, 4387, 284, 
    47008, 3995, 40539, 36271, 36270, 48320, 
    49408
  ) 
  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.01026

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": 19,
          "filtered": 99.9960556,
          "index_condition": "cscart_product_prices.product_id in (48998,2921,33177,33214,41446,4386,47009,5571,5730,5418,4387,284,47008,3995,40539,36271,36270,48320,49408)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
284 360000.0000
2921 485000.0000
3995 1045000.0000
4386 1750000.0000
4387 1425000.0000
5418 650000.0000
5571 570000.0000
5730 380000.0000
33177 1690000.0000
33214 1690000.0000
36270 1625000.0000
36271 3410000.0000
40539 500000.0000
41446 1690000.0000
47008 300000.0000
47009 785000.0000
48320 650000.0000
48998 595000.0000
49408 450000.0000