系统教程 · 2024年1月3日

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

如何使用 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聚合,并统计各组的记录数量

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持主机宝贝!更多关于数据库的相关知识,也可关注主机宝贝公众号。