我有一个包含以下列的表格(表1)。
[Date], [Status], [Time], [Category], [Count]
我已经编写了一个SQL查询使用,下面是查询。
SELECT [Date]
,[Status]
,[Time]
,[1 time] as '1 time'
,[2 times] as '2 times'
,[3 times] as '3 times'
,[4 times] as '4 times'
,[5 times] as '5 times'
,[>5 times] as '>5 times'
FROM Table1
PIVOT (
SUM([Count])
FOR [Category] IN
([1 time], [2 times], [3 times], [4 times], [5 times], [>5 times])
) as PVT
ORDER BY 1, 2, 3, 4
我按照以下列的要求获得了结果。
[Date], [Status], [Time], [1 time], [2 times], [3 times], [4 times], [5 times], [>5 times]
但我需要再添加一个列名Overall
,这将列出所有这些列的总和。
[1 time], [2 times], [3 times], [4 times], [5 times], [>5 times]
有人可以帮我吗?
答案 0 :(得分:1)
试试这个:
SELECT [Date]
,[Status]
,[Time]
,[1 time]
,[2 times]
,[3 times]
,[4 times]
,[5 times]
,[>5 times]
,[1 time] + [2 times] + [3 times] + [4 times] + [5 times] + [>5 times] AS Overall
FROM (SELECT [Date]
,[Status]
,[Time]
,[1 time] as '1 time'
,[2 times] as '2 times'
,[3 times] as '3 times'
,[4 times] as '4 times'
,[5 times] as '5 times'
,[>5 times] as '>5 times'
FROM Table1
PIVOT (SUM([Count]) FOR [Category] IN ([1 time], [2 times], [3 times], [4 times], [5 times], [>5 times])) as PVT) AS T
ORDER BY 1, 2, 3, 4