Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL връща максимална стойност или нула, ако една колона няма стойност

Не знам колко бързо ще бъде, но предполагам, че може да се реши по следния начин:

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

Не можах да го тествам, но идеята зад това решение е, че count(cancel_date) трябва да отчита всички записи, които не са нулеви стойности и ако е равно на count(*) това означава, че няма нулеви стойности и ще върне max(cancel_date) , иначе нула.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да актуализирам таблица, за да добавя първичен ключ и да актуализирам всички съществуващи редове с увеличени идентификатори?

  2. Номер на ред за група в mysql

  3. MySQL позволява ли обратни извиквания в C, така че когато се случи промяна, мога да бъда уведомен?

  4. Грешка в MySql 150 - Външни ключове

  5. Незаконен микс от съпоставяне (utf8_unicode_ci,IMPLICIT) и (utf8_general_ci,IMPLICIT) за операция '='