这似乎应该是一个常见的需求,但我没有看到如何使用 T-SQL PIVOT 函数来做到这一点。具体来说,我想通过 Pivot 列值计算列的 AVG 和 STDEV。数据看起来像这样(省略了很多数据,但这很重要):
--------------------------------------------------------------------------
ID Year PersonID Score
--------------------------------------------------------------------------
106 2001 1 20
107 2002 1 30
108 2003 1 40
109 2004 1 50
106 2002 2 20
107 2003 2 50
108 2004 2 30
109 2005 2 10
--------------------------------------------------------------------------
我想看到以下输出
--------------------------------------------------------------------------
NonPivotCol1 NonPivotCol2 2001_Mean 2001_Avg 2002_Mean 2002_Avg Etc
--------------------------------------------------------------------------
Some Value Some Value 32 5.2 28 3.1
Etc.
--------------------------------------------------------------------------
我需要恢复到旧的 CASE 语句逻辑吗?
谢谢!