MorningSss_ 2021-06-15 10:45 采纳率: 0%
浏览 23

SQLserver如何列转行

把下面的表转成第一列:工龄区间;第二列;人数

并按人数降序排序

 

  • 写回答

1条回答 默认 最新

  • 树莓大王 2023-03-14 21:31
    关注

    要将SQL Server中的列转换为行,请使用UNPIVOT运算符。以下是一个示例查询,可以将“工龄区间”列和“人数”列从表中提取出来并进行排序:

    SELECT Age AS '工龄区间',Count AS '人数'
    FROM (SELECT * FROM employee) AS SourceTable
    UNPIVOT
    (Count FOR Age IN ([0-5],[6-9], [10-14],[15+])) AS UnpivotTable
    ORDER BY Count DESC;
    

    在此示例查询中,employee是表的名称,[0-5]、[6-9]、[10-14]和[15+]是需要转换为行的列名。UNPIVOT运算符将原始表转换为包含工龄区间和人数列的新表。最终结果按人数列进行降序排序。

    评论

报告相同问题?