Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL zwraca maksymalną wartość lub null, jeśli jedna kolumna nie ma wartości

Nie wiem, jak szybko to będzie, ale myślę, że można to rozwiązać w ten sposób:

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

Nie mogłem tego przetestować, ale idea tego rozwiązania jest taka, że ​​count(cancel_date) powinien zliczać wszystkie niezerowe wpisy wartości i jeśli jest równy count(*) oznacza to, że nie ma wartości null i zwróci max(cancel_date) , w przeciwnym razie null.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pełne łączenie MySql (unia) i porządkowanie w wielu kolumnach dat

  2. MySQL usuwa znaki nieliczbowe do porównania

  3. Zaimportować XML z treścią określoną jako atrybuty do tabeli MySQL?

  4. Jak rozwiązać błąd braku zapytania w czytniku danych?

  5. Pokaż przedmiot dnia