sql >> Database teknologi >  >> RDS >> Mysql

MySQL returnerer maks. værdi eller null, hvis en kolonne ikke har nogen værdi

Jeg ved ikke hvor hurtigt det vil være, men jeg tror det kan løses sådan her:

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

Jeg kunne ikke teste det, men ideen bag denne løsning er, at count(cancel_date) bør tælle alle ikke-null-værdier, og hvis det er lig med count(*) det betyder, at der ikke er nogen null-værdier, og det vil returnere max(cancel_date) , ellers null.



  1. Tildel MySQL-databaseværdi til PHP-variabel

  2. Forskellen mellem PDO->query() og PDO->exec()

  3. Er der nogen mening i at bruge LIMIT i EXISTS-forespørgslen?

  4. Indsæt data fra en tabel i en anden i MySQL