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 (
    5626, 31954, 35654, 31955, 45259, 33070, 
    31956, 48828, 48565, 48954, 47271, 
    48956, 48955, 48829, 48959, 48958, 
    48661, 48660, 48663, 48659, 48662, 
    49483
  ) 
  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.00504

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": 22,
          "filtered": 99.9960556,
          "index_condition": "cscart_product_prices.product_id in (5626,31954,35654,31955,45259,33070,31956,48828,48565,48954,47271,48956,48955,48829,48959,48958,48661,48660,48663,48659,48662,49483)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
5626 30000.0000
31954 90000.0000
31955 90000.0000
31956 90000.0000
33070 90000.0000
35654 25000.0000
45259 70000.0000
47271 155000.0000
48565 100000.0000
48659 45000.0000
48660 45000.0000
48661 45000.0000
48662 45000.0000
48663 45000.0000
48828 65000.0000
48829 65000.0000
48954 85000.0000
48955 85000.0000
48956 95000.0000
48958 90000.0000
48959 90000.0000
49483 150000.0000