You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MySQL求助:统计Field B为yes的各名称出现次数

解决方案:统计MySQL表中各颜色对应Field B为"yes"的数量

没问题,这就是个典型的分组统计需求,咱们用MySQL的分组查询+聚合函数就能轻松搞定。先理清楚你的需求:按Field A的不同取值,统计对应的Field B为yes的记录条数,最终得到每个颜色的yes次数。

你的原始数据

Field AField B
Redyes
Blueyes
Redno
Greenno
Blueyes
Blueyes
Greenno
Greenyes
Redno

实现SQL语句

这里给你两种常用的写法,都能达到目标,你可以根据习惯选择:

写法1:CASE表达式配合SUM统计

SELECT 
    `Field A`,
    SUM(CASE WHEN `Field B` = 'yes' THEN 1 ELSE 0 END) AS yes_count
FROM 
    your_table_name  -- 替换成你实际的表名
GROUP BY 
    `Field A`;

写法2:COUNT过滤非yes记录

SELECT 
    `Field A`,
    COUNT(CASE WHEN `Field B` = 'yes' THEN 1 END) AS yes_count
FROM 
    your_table_name  -- 替换成你实际的表名
GROUP BY 
    `Field A`;

匹配你要的输出格式

如果想要完全和你给出的输出样式一致(没有表头,颜色和数字直接在一行),可以用CONCAT拼接结果:

SELECT CONCAT(`Field A`, ' ', SUM(CASE WHEN `Field B` = 'yes' THEN 1 ELSE 0 END)) AS result
FROM your_table_name
GROUP BY `Field A`;

执行后就会输出:

Red 1
Blue 3
Green 1

内容的提问来源于stack exchange,提问作者Dr.Faisal

火山引擎 最新活动