如何使用 MySQL group by 语句对布尔字段进行聚合,统计 NULL、空字符串和有实际值的记录数量?

使用mysql group by判断布尔值
问题:
如何使用mysql group by语句对布尔字段进行聚合,并分别统计为null、”(空字符)和有实际值的记录数量?
解决方案:
select
d.checks, count(d.checks)
from (select (
case clip_url_hash
when '' then '空字符串'
when null then 'NULL'
else '正常的' end
) as checks from text_meta_ingest) as d
group by d.checks;
分析:
-
使用case when语句对clip_url_hash字段进行判断:
- 为空字符串时,返回“空字符串”
- 为null时,返回“null”
- 否则,返回“正常的”
- 将case when的判断结果用as checks起别名,并作为新的数据集d.checks
- 对d.checks数据集进行group by聚合,并统计各组的记录数量
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持米云!更多关于数据库的相关知识,也可关注米云公众号。
