针对 group by 添加判断条件
mysql 的 group by 语句可用于根据指定列对数据进行分组和聚合。当需要对不同分组应用不同的判断条件时,可以使用 case when 表达式。
示例问题:
如何统计 clip_url_hash 为 null、空字符或有实际值这三种情况的 count?
解决方法:
使用 case when 表达式如下:
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
- 正常(长度大于 0)
- group by 子查询的结果将检查值分组。
- 外部查询对分组后的结果进行 count。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容