gpt4 book ai didi

sql-server - 如何在数据透视表中获得不同的 COUNT?

转载 作者:行者123 更新时间:2023-12-01 22:37:05 27 4
gpt4 key购买 nike

我有下表:

State   LAB GROUP   DATE    CODE    ID
UP A I 1-Jan 1 345
UP R S 1-Feb 1 456
UP A S 1-Jan 2 567
DL R S 1-Feb 3 678
DL T S 1-Jan 1 789
DL A S 1-Jan 2 900
MN T S 1-Jan 3 1011
MN R I 1-Feb 1 1122
MN S I 1-Feb 2 1233

我需要以下类型的数据透视表:

STATE   A   R   T   TOTAL
UP 2 1 0 3
DL 1 1 1 3
MN 0 1 1 2

每个州每个实验室的不同 ID 计数。

然后我需要为以下列过滤数据透视表:

集团日期代码

所以第一个表将有上面的数据透视表只计算那些有 GROUP=S 的记录第二张表将有上面的数据透视表,只计算那些 CODE=1

的记录

等等,我想放多个条件。并逐一生成多个表格并导出。

如果这在 SQL 中可行,请告诉我!由于表的大小,我排除了 excel vba(源表大约有 800,000 条记录)。

最佳答案

试试这个:-

Select [State],[A],[R],[T],Total = [A] + [R]+ [T]
from
(
Select [State],
[A] = Sum(Case when LAB='A' then 1 else 0 END) ,
[R] = Sum(Case when LAB='R' then 1 else 0 END) ,
[T] = Sum(Case when LAB='T' then 1 else 0 END)
from YourTable
group by [State]
)a

SQL FIDDLE

关于sql-server - 如何在数据透视表中获得不同的 COUNT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398280/

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