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 (
    200, 201, 202, 203, 204, 205, 206, 207, 
    208, 209, 210, 211, 212, 213, 215, 217, 
    218, 220, 222, 224, 225, 226, 227, 228
  ) 
  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.00054

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": 24,
      "filtered": 36.89481354,
      "index_condition": "cscart_product_prices.product_id in (200,201,202,203,204,205,206,207,208,209,210,211,212,213,215,217,218,220,222,224,225,226,227,228)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
200 3240.000000
201 1560.000000
202 4200.000000
203 4200.000000
204 1800.000000
205 18000.000000
206 21600.000000
207 5040.000000
208 9960.000000
209 13200.000000
210 10800.000000
211 36000.000000
212 15600.000000
213 35400.000000
215 131400.000000
217 73320.000000
218 55200.000000
220 132000.000000
222 63600.000000
224 57600.000000
225 24000.000000
226 32400.000000
227 83880.000000
228 42000.000000