我有类似
的东西ZoneNumber AverageSpeed
1 20
2 30
3 50
4 60
5 70
我希望有一个像
这样的观点AverageSpeed 1 AverageSpeed 2 AverageSpeed 3 AverageSpeed 4 AverageSpeed 5
20 30 50 60 70
有没有人知道我的查询需要写什么?
答案 0 :(得分:1)
您需要使用Pivot。
Pivot通过将表达式中一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在最终输出中需要的任何剩余列值上执行聚合。
SELECT *
FROM (
SELECT year(invoiceDate) as [year], left(datename(month,invoicedate),3) as [month], InvoiceAmount as Amount
FROM Invoice
) as s
PIVOT
(
SUM(Amount)
FOR [month] IN (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec)
)AS pivot