php中文网

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

php中文网

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

以上就是如何使用 MySQL group by 语句对布尔字段进行聚合,统计 NULL、空字符串和有实际值的记录数量?的详细内容,更多请关注php中文网其它相关文章!