首页 > 解决方案 > 在 SQL Server 中的单个查询中排列查询

问题描述

我有一个包含员工、部门和工资列的表。

如何在单个查询中安排多个工资条件?

标签: sqlsql-serverpivot

解决方案


使用条件聚合:

select
    department,
    sum(case when                    salary <= 5000  then 1 else 0 end) count_salary_500,
    sum(case when salary > 5000  and salary <= 10000 then 1 else 0 end) count_salary_501_1000,
    sum(case when salary > 10000 and salary <= 15000 then 1 else 0 end) count_salary_10001_15000,
    sum(case when salary                    <= 5000  then salary end) sum_salary_500,
    sum(case when salary > 5000  and salary <= 10000 then salary end) sum_salary_501_1000,
    sum(case when salary > 10000 and salary <= 15000 then salary end) sum_salary_10001_15000
from mytable
group by department

推荐阅读