如何使用 CASE WHEN 表达式在 GROUP BY 中添加判断条件统计数据?

如何使用 CASE WHEN 表达式在 GROUP BY 中添加判断条件统计数据?

针对 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。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容