sql 服务器数据透视字符串从一列到三列
sql server pivot string from one column to three columns
我可能一直在以错误的方式解决问题。我研究了数据透视示例
http://www.codeproject.com/Tips/500811/Simple-Way-To-Use-Pivot-In-SQL-Query
How to create a pivot query in sql server without aggregate function
但它们不是我正在寻找的类型.. 或者我可能以错误的方式处理这个问题,我是 sql 服务器的新手。
我要改造:
学生:
studid | firstname | lastname | school
-----------------------------------------
1 mike lee harvard
1 mike lee ucdavis
1 mike lee sfsu
2 peter pan chico
2 peter pan ulloa
3 peter smith ucb
期望输出:(学校注意,最多只需要 3 列)
studid| firstname | lastname | school1 | school2 | school3
---------------------------------------------------------------------
1 mike lee Harvard ucdavis sfsu
2 peter pan chico ulloa
3 peter smith ucb
我看到的教程展示了 Sum() 、 count() 的用法......但我不知道如何将一列的字符串值转换为三列。
您可以通过为每个枢轴值取 max(school) 来获得您想要的结果。我猜你想要的枢轴值是按学生划分的学校排名。这将是查询:
select * from
(select *, rank() over (partition by studid order by school) rank from student) r
pivot (max(school) for rank in ([1],[2],[3])) pv
请注意,max 实际上并没有做任何事情。如果您将其替换为 min,查询将 return 得到相同的结果。只是 pivot 语法需要在这里使用聚合函数。
我可能一直在以错误的方式解决问题。我研究了数据透视示例
http://www.codeproject.com/Tips/500811/Simple-Way-To-Use-Pivot-In-SQL-Query How to create a pivot query in sql server without aggregate function
但它们不是我正在寻找的类型.. 或者我可能以错误的方式处理这个问题,我是 sql 服务器的新手。
我要改造:
学生:
studid | firstname | lastname | school
-----------------------------------------
1 mike lee harvard
1 mike lee ucdavis
1 mike lee sfsu
2 peter pan chico
2 peter pan ulloa
3 peter smith ucb
期望输出:(学校注意,最多只需要 3 列)
studid| firstname | lastname | school1 | school2 | school3
---------------------------------------------------------------------
1 mike lee Harvard ucdavis sfsu
2 peter pan chico ulloa
3 peter smith ucb
我看到的教程展示了 Sum() 、 count() 的用法......但我不知道如何将一列的字符串值转换为三列。
您可以通过为每个枢轴值取 max(school) 来获得您想要的结果。我猜你想要的枢轴值是按学生划分的学校排名。这将是查询:
select * from
(select *, rank() over (partition by studid order by school) rank from student) r
pivot (max(school) for rank in ([1],[2],[3])) pv
请注意,max 实际上并没有做任何事情。如果您将其替换为 min,查询将 return 得到相同的结果。只是 pivot 语法需要在这里使用聚合函数。