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

MySQL restituisce il valore massimo o null se una colonna non ha alcun valore

Non so quanto sarà veloce, ma immagino che possa essere risolto in questo modo:

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

Non ho potuto testarlo, ma l'idea alla base di questa soluzione è che count(cancel_date) dovrebbe contare tutte le voci di valori non nulli e se è uguale a count(*) ciò significa che non ci sono valori nulli e restituirà max(cancel_date) , altrimenti nullo.