gpt4 book ai didi

mysql - SQL 计数结果并加入

转载 作者:行者123 更新时间:2023-11-29 04:16:06 25 4
gpt4 key购买 nike

我有两个表,其中包含所有名称的“analyst”和包含所有结果的“master”表。我正在尝试计算每个名称的结果数。下表示例:

分析表

id      analyst 
----------------
1 name1
2 name2
3 name3

主表

id      analyst    result
--------------------------
1 name1 passed
2 name2 failed
3 name1 passed

我目前在下面有这个

SELECT result, COUNT(*) as Count FROM master GROUP BY Result;

返回给我的是:

result     Count
-----------------
passed 2
failed 1

我如何使用 join 返回类似这样的结果:

analyst     passed     failed
------------------------------
name1 2 0
name2 0 1
name3 0 0

谢谢

最佳答案

这可以通过条件聚合来完成。 sum 中的条件为真返回 1,为假返回 0。

select analyst, sum(result='passed') as passed, sum(result='failed') as failed
from master
group by analyst

如果要在分析师表中显示所有分析师的结果,请使用

select a.analyst
,coalesce(sum(m.result='passed'),0) as passed
,coalesce(sum(m.result='failed'),0) as failed
from analyst a
left join master m on a.analyst=m.analyst
group by a.analyst

关于mysql - SQL 计数结果并加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45258456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com