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 (
    278, 280, 282, 247, 248, 241, 244, 245, 
    246, 240, 6, 66, 166, 214, 219, 221, 223, 
    192, 194, 195, 196, 197, 198, 199
  ) 
  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.00058

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": 27,
      "filtered": 38.43209457,
      "index_condition": "cscart_product_prices.product_id in (278,280,282,247,248,241,244,245,246,240,6,66,166,214,219,221,223,192,194,195,196,197,198,199)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
6 39600.000000
66 46800.000000
166 90000.000000
192 1800.000000
194 1320.000000
195 3600.000000
196 2040.000000
197 1800.000000
198 2160.000000
199 3600.000000
214 116640.000000
219 63600.000000
221 245880.000000
223 60000.000000
240 59880.000000
241 59880.000000
244 87600.000000
245 699.000000
246 48000.000000
247 39540.000000
248 44680.000000
278 3000.000000
280 3600.000000
282 2799.000000