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 (
    542, 543, 544, 545, 546, 547, 548, 549, 
    550, 551, 552, 553, 554, 555, 556, 557, 
    558, 559, 560, 561, 562, 563, 564, 565
  ) 
  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.00076

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": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
542 0.00000000
543 0.00000000
544 0.00000000
545 0.00000000
546 72000.00000000
547 0.00000000
548 0.00000000
549 93600.00000000
550 36000.00000000
551 0.00000000
552 0.00000000
553 0.00000000
554 0.00000000
555 300000.00000000
556 0.00000000
557 0.00000000
558 0.00000000
559 0.00000000
560 0.00000000
561 0.00000000
562 114000.00000000
563 0.00000000
564 0.00000000
565 0.00000000