
mysql 查询中使用 group by 后添加判断条件
在 mysql 中,使用 group by 子句对数据进行分组时,可以添加判断条件来过滤或聚合特定类别的数据。
问题:
如何统计 mysql 表中 clip_url_hash 列中的三种情况:为 null、为空字符 (``) 和有实际值(长度大于 0)?
安装、修复、更新或打包一个基于 Python 和 PyMySQL 实现的 Windows `mysql` 命令。适用于用户希望在 PowerShell/CMD 中输入 `mysql` 时重定向到 Python 实现、需要交互式输入 MySQL 连接信息、需要同步到当前用户本地 bin 目录,或需要将该能力封装成可公开复用的 Codex skill。
解决方案:
使用 case when 表达式来判断每个 clip_url_hash 的情况,并创建一个新列 checks 来存储这些情况。然后使用新的 checks 列对数据进行分组并计算 count。
sql 语句:
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;结果:
checks | count --------|-------- 空字符串 | 10 NULL | 15 正常的 | 120

















