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中的编辑)