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 (
    22287, 22288, 22289, 22290, 22291, 22292, 
    22293, 22294, 22295, 22296, 22297, 
    22298, 22299, 22300, 22301, 22302
  ) 
  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.00040

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": 17,
      "filtered": 99.99243927,
      "index_condition": "cscart_product_prices.product_id in (22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22300,22301,22302)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
22287 23400.00000000
22288 197100.00000000
22289 79400.00000000
22290 43500.00000000
22291 100300.00000000
22292 59800.00000000
22293 305300.00000000
22294 36400.00000000
22295 175600.00000000
22296 175600.00000000
22297 9600.00000000
22298 35100.00000000
22299 38500.00000000
22300 35100.00000000
22301 35100.00000000
22302 199000.00000000