Sql server SQL Server:按周分组、创建列和排序
我有一张有足球队得分的桌子。这些分数(百分比)已按每周球员的周数进行排序。时间戳已被转换,现在一名球员每周的分数为倍数,如下所示:Sql server SQL Server:按周分组、创建列和排序,sql-server,tsql,sorting,multiple-columns,Sql Server,Tsql,Sorting,Multiple Columns,我有一张有足球队得分的桌子。这些分数(百分比)已按每周球员的周数进行排序。时间戳已被转换,现在一名球员每周的分数为倍数,如下所示: Week Player Score 2013w51 Louis 12 2013w51 Miguel 76 2013w51 Miguel 21 2013w51 Charles 62 2013w52 Pedro
Week Player Score
2013w51 Louis 12
2013w51 Miguel 76
2013w51 Miguel 21
2013w51 Charles 62
2013w52 Pedro 21
2013w52 Rodriguo 62
. . .
. . .
. . .
2014w2 Louis 52
2014w2 Louis 85
2014w2 Charles 65
我想按球员对每周平均得分和每位球员(总计)进行如下排序(考虑到该周固定为9周):
谢谢你的帮助
Tdev
编辑:
我使用了如下的PIVOT函数
SELECT *
FROM
( SELECT [Player], [Week], [Score]
FROM Temp_Db) AS SourceTable
PIVOT
(
AVG([Average])
FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
) AS PivotTable;
SELECT *
FROM
( SELECT [Player], [Week], [Score]
FROM Temp_Db) AS SourceTable
PIVOT
(
AVG([Average])
FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
) AS PivotTable;
声明@T表(周1 varchar(50),玩家varchar(50),分数int)
插入@T值('2013w51','Louis',12)
插入@T值('2013w51','Louis',50)
插入@T值('2013w51','Louis',13)
插入@T值('2013w5','Pedro',22)
插入@T值('2013w51','Louis',50)
插入@T值('2013w5','Pedro',13)
从@T中选择周1、玩家、平均(分数)作为ColValue
一周一组,玩家我使用了如下枢轴功能
SELECT *
FROM
( SELECT [Player], [Week], [Score]
FROM Temp_Db) AS SourceTable
PIVOT
(
AVG([Average])
FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
) AS PivotTable;
SELECT *
FROM
( SELECT [Player], [Week], [Score]
FROM Temp_Db) AS SourceTable
PIVOT
(
AVG([Average])
FOR [Week] IN ([2013w51], [2013w52], [2014w1], [2014w2])
) AS PivotTable;
您应该在应用程序级别执行此操作…感谢您的回复,但我没有很好地解释我的问题。我找到了解决方案(OP中的编辑)