Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL retorna valor máximo ou nulo se uma coluna não tiver valor


Não sei o quão rápido será, mas acho que pode ser resolvido assim:
SELECT ID, min(ORDER_DATE) AS OD,
IF(COUNT(*)=COUNT(CANCEL_DATE),max(CANCEL_DATE),NULL) AS CD 
FROM stats GROUP BY CLIENT

Eu não pude testá-lo, mas a ideia por trás dessa solução é que count(cancel_date) deve contar todas as entradas de valor não nulo e se for igual a count(*) isso significa que não há valores nulos e retornará max(cancel_date) , caso contrário nulo.