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 (
    494, 495, 496, 497, 498, 499, 500, 501, 
    502, 503, 504, 505, 506, 507, 508, 509, 
    510, 511, 512, 513, 514, 515, 516, 517
  ) 
  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.00131

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 (494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
494 0.00000000
495 1656000.00000000
496 0.00000000
497 65000.00000000
498 540000.00000000
499 0.00000000
500 52000.00000000
501 260000.00000000
502 0.00000000
503 0.00000000
504 40000.00000000
505 380000.00000000
506 0.00000000
507 0.00000000
508 6000.00000000
509 0.00000000
510 0.00000000
511 0.00000000
512 0.00000000
513 0.00000000
514 0.00000000
515 0.00000000
516 0.00000000
517 0.00000000