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 (
    229, 230, 231, 232, 233, 234, 235, 236, 
    237, 238, 239, 242, 243, 78, 79, 80, 81, 
    82, 83, 84, 85, 86, 87, 88
  ) 
  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.00067

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 (229,230,231,232,233,234,235,236,237,238,239,242,243,78,79,80,81,82,83,84,85,86,87,88)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
78 12000.000000
79 11520.000000
80 6600.000000
81 6000.000000
82 2400.000000
83 2400.000000
84 2400.000000
85 2400.000000
86 43080.000000
87 2400.000000
88 4800.000000
229 36000.000000
230 15000.000000
231 11880.000000
232 9600.000000
233 5760.000000
234 7200.000000
235 9600.000000
236 36000.000000
237 36000.000000
238 66240.000000
239 66240.000000
242 29880.000000
243 29880.000000