mysql 计算表中空值和非空值的数量

gjmwrych  于 2022-12-03  发布在  Mysql
关注(0)|答案(1)|浏览(143)

下面是我的查询。我的表现在只有4行。其中3行在confirmed_at列中有UNIX时间戳,1行是null

SELECT 
   date(`user`.`created_at`) AS `Date`, 
   SUM(case `user`.`confirmed_at` when null then 1 else 0 end) AS 'Null values',
   SUM(case `user`.`confirmed_at` when null then 0 else 1 end) AS 'Non-null values'
FROM `user`
GROUP BY date(`user`.`created_at`);

运行此查询时,显示的结果是

Date      | Null Values | non-null values
1/12/2022 | 0           | 4

它应该

Date      | Null Values | non-null values
1/12/2022 | 1           | 3

有人能帮我吗,不知道我错过了什么。谢谢。

thigvfpy

thigvfpy1#

您可以尝试添加IS,检查它是否为空,更多详细信息可以在t-sql-case-clause-how-to-specify-when-null中找到

SELECT 
   date(`user`.`created_at`) AS `Date`, 
   SUM(case `user`.`confirmed_at` when is null then 1 else 0 end) AS 'Null values',
   SUM(case `user`.`confirmed_at` when is null then 0 else 1 end) AS 'Non-null values'
FROM `user`
GROUP BY date(`user`.`created_at`);

相关问题