如何使用 GROUP BY 后对 MySQL 结果进行条件判断?

如何使用 GROUP BY 后对 MySQL 结果进行条件判断?

如何在使用 group by 后对 mysql 结果进行条件判断?

mysql 中使用 group by 对结果分组时,我们有时需要进一步对分组后的数据进行条件判断。例如,我们需要统计列 clip_url_hash 的三种情况:null、”(空字符串)和有实际值。

为了实现这个目标,我们可以利用 case when 语句。

select     d.checks,     count(d.checks) from (     select     case         when clip_url_hash = '' then '空字符串'         when clip_url_hash is NULL then 'null'         else '正常的'     end as checks     from text_meta_ingest ) as d group by     d.checks;
登录后复制

解释:

  • 内层查询使用 case when 语句将 clip_url_hash 值映射为三个不同的检查结果:空字符串、null 和正常值。
  • 外层查询使用 count() 函数对 checks 列进行计数。
  • group by 子句根据 checks 值对结果进行分组。

结果:

checks    count 空字符串    xxx NULL    yyy 正常的    zzz
登录后复制

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

请登录后发表评论

    暂无评论内容