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

MySQL vrátí maximální hodnotu nebo null, pokud jeden sloupec nemá žádnou hodnotu

Nevím, jak rychle to bude, ale myslím, že se to dá vyřešit takto:

SELECT ID, min(ORDER_DATE) AS OD,
IF(COUNT(*)=COUNT(CANCEL_DATE),max(CANCEL_DATE),NULL) AS CD 
FROM stats GROUP BY CLIENT

Nemohl jsem to otestovat, ale myšlenkou tohoto řešení je, že count(cancel_date) by měl počítat všechny nenulové hodnoty a pokud je roven count(*) to znamená, že neexistují žádné hodnoty null a vrátí max(cancel_date) , jinak je null.



  1. Jak odstranit virtuální počítač z VirtualBoxu

  2. Nelze nainstalovat balíček mysqlclient Python na Windows

  3. Jak vložit data z jedné databázové tabulky do jiné databázové tabulky v Mysql

  4. Proč používat cizí klíče bez akce na odstranění nebo aktualizaci