gpt4 book ai didi

sql - 分组后按列内容分解计数

转载 作者:行者123 更新时间:2023-12-05 01:25:31 26 4
gpt4 key购买 nike

我在 SQL Server 中有下表:

<表类="s-表"><头>ExperienceId员工编号经验类型<正文>11'工作'21'内部'32'内部'43'外部'53'外部'

ExperienceType 只有 3 个可能的值:'Work'、'Internal' 和 'External'

我想知道每个员工有多少种类型的经验:

<表类="s-表"><头>员工编号工作经验内部经验外部经验<正文>111020103002

我试过了

select EmployeeId, count(*)
from EmployeeExperiences
group by EmployeeId

但这只能给我每个员工的体验总数,我不知道如何按体验类型对其进行分解。

最佳答案

一种方法是使用条件聚合(聚合函数内的CASE WHEN)。

select 
employeeid,
count(case when experiencetype = 'Work' then 1 end) as work_exp,
count(case when experiencetype = 'Internal' then 1 end) as internal_exp,
count(case when experiencetype = 'External' then 1 end) as external_exp
from employeeexperiences
group by employeeid
order by employeeid;

另一种选择是使用 PIVOT 子句。

关于sql - 分组后按列内容分解计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70798211/

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