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 (
    518, 519, 520, 521, 522, 523, 524, 525, 
    526, 527, 528, 529, 530, 531, 532, 533, 
    534, 535, 536, 537, 538, 539, 540, 541
  ) 
  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.00113

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 (518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
518 0.00000000
519 65000.00000000
520 0.00000000
521 0.00000000
522 0.00000000
523 0.00000000
524 0.00000000
525 0.00000000
526 0.00000000
527 0.00000000
528 0.00000000
529 0.00000000
530 48000.00000000
531 265000.00000000
532 0.00000000
533 95000.00000000
534 0.00000000
535 0.00000000
536 0.00000000
537 0.00000000
538 54000.00000000
539 0.00000000
540 0.00000000
541 98000.00000000