Sql server 将表格与总和一起旋转
我有一个包含这些数据的表格Sql server 将表格与总和一起旋转,sql-server,Sql Server,我有一个包含这些数据的表格 +------------+----------------+------------+ | Department | ProgressStatus | TasksCount | +------------+----------------+------------+ | A | Completed | 1 | | C | Completed | 4 | | D
+------------+----------------+------------+
| Department | ProgressStatus | TasksCount |
+------------+----------------+------------+
| A | Completed | 1 |
| C | Completed | 4 |
| D | Completed | 1 |
| B | Pending | 8 |
| A | Pending | 10 |
| C | Pending | 12 |
| D | Pending | 2 |
| C | Progress | 4 |
+------------+----------------+------------+
我需要编写一个查询来获得这些输出(它看起来像一个简单的透视表)
使用条件求和和和分组方式
select
department,
sum(case when ProgressStatus = 'Completed' then TasksCount end) Completed,
sum(case when ProgressStatus = 'Pending' then TasksCount end) Pending,
sum(case when ProgressStatus = 'Progress' then TasksCount end) Progress,
sum(TasksCount) Total
from your_table
group by department;
使用条件求和和和分组方式
select
department,
sum(case when ProgressStatus = 'Completed' then TasksCount end) Completed,
sum(case when ProgressStatus = 'Pending' then TasksCount end) Pending,
sum(case when ProgressStatus = 'Progress' then TasksCount end) Progress,
sum(TasksCount) Total
from your_table
group by department;
输出
Department Completed Pending Progress total
A 1 10 0 11
B 0 8 0 8
C 4 12 4 20
D 1 2 0 3
输出
Department Completed Pending Progress total
A 1 10 0 11
B 0 8 0 8
C 4 12 4 20
D 1 2 0 3
到目前为止,您尝试了什么?事实上,我是SQL新手。所以,我所能做的就是为每个部门获取totsl任务,但我无法获取其余的:(到目前为止,你尝试了什么?实际上我对SQL是新手。所以我所能做的就是为每个部门获取totsl任务,但我无法获取其余的任务:(它工作了:)谢谢。你能告诉我在哪里可以学习SQLIt工作的好资源吗:)谢谢你能告诉我一些好的资源,在那里我可以学习SQLit,它也可以工作。但是我现在还不能理解:(.谢谢你的帮助,看看pivot的例子你能理解发生了什么…@EmadAli它也能工作。但是我现在还不能理解:(.谢谢你的帮助,看看pivot的例子你能理解发生了什么…@EmadAli