sql >> Databáze >  >> RDS >> Mysql

MySQL:získejte MAX nebo GREATEST z několika sloupců, ale s poli NULL

Použijte COALESCE

SELECT id, 
   GREATEST(date1, 
     COALESCE(date2, 0),
     COALESCE(date3, 0)) as datemax 
FROM mytable

Aktualizace:Tato odpověď dříve používala IFNULL což funguje, ale jak v komentářích zdůraznil Mike Chamberlain, COALESCE je ve skutečnosti preferovanou metodou.



  1. CROSS/OUTER APPLY v MySQL

  2. php neukládá data do mysql

  3. Jak vybrat dva sloupce jako jeden?

  4. Laravel Crypt - Porovnání hodnot