gpt4 book ai didi

mysql - 根据列与另一列的关系获取 SUM (SQL)

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:00 24 4
gpt4 key购买 nike

假设您有以下代表公司员工的数据。第一列是他们的唯一ID,第二列是他们主管的ID,第三列代表员工是否超过21岁。(Y表示他们超过21岁,N表示他们不是)

    |Employee ID |Supervisor ID|Over21|
-----------------------------------
|1 |1 |Y |
|2 |1 |N |
|3 |1 |Y |
|4 |2 |Y |
|5 |2 |Y |
|6 |3 |N |
|7 |3 |N |

所以,如果我想找到超过 21 岁的员 worker 数,我可以很容易地做到这一点:

SELECT SUM(CASE WHEN [Over21] IS 'Y' THEN 1 ELSE 0 END)

但假设您要查找拥有 21 岁以上员工的主管人数。 (在本例中为 2)。我一直在绞尽脑汁想找出一种方法来写出一种方法来找到它,但到目前为止我一直在努力。

最佳答案

select count (distinct Supervisor)
from your_tab
where Over21 = 'Y';

没有哪里:

select count (distinct case when Over21 = 'Y' then Supervisor else null end)
from your_tab;

关于mysql - 根据列与另一列的关系获取 SUM (SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27070513/

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