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 (
    1975, 6369, 2305, 49192, 46715, 3747, 
    1976, 3755, 6362, 2083, 2080, 3759, 
    3762, 3761, 47621, 49320
  ) 
  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.00195

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 (1975,6369,2305,49192,46715,3747,1976,3755,6362,2083,2080,3759,3762,3761,47621,49320)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
1975 240000.0000
1976 405000.0000
2080 520000.0000
2083 520000.0000
2305 350000.0000
3747 90000.0000
3755 130000.0000
3759 180000.0000
3761 130000.0000
3762 130000.0000
6362 450000.0000
6369 880000.0000
46715 390000.0000
47621 290000.0000
49192 350000.0000
49320 490000.0000