Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL gibt den maximalen Wert oder null zurück, wenn eine Spalte keinen Wert hat

Ich weiß nicht, wie schnell es sein wird, aber ich denke, es kann so gelöst werden:

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

Ich konnte es nicht testen, aber die Idee hinter dieser Lösung ist, dass count(cancel_date) alle Nicht-Null-Wert-Einträge zählen soll und gleich count(*) ist das bedeutet, dass es keine Nullwerte gibt und max(cancel_date) zurückgegeben wird , andernfalls null.