sql >> Base de Datos >  >> RDS >> Mysql

MySQL devuelve el valor máximo o nulo si una columna no tiene valor

No sé qué tan rápido será, pero supongo que se puede resolver así:

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

No pude probarlo, pero la idea detrás de esta solución es que count(cancel_date) debe contar todas las entradas de valores no nulos y si es igual a count(*) eso significa que no hay valores nulos y devolverá max(cancel_date) , de lo contrario, nulo.