sql server 查询结果行转列
第一次编写,这是进行行转列的操作
第一次编写,这是进行行转列的操作
select 测试
1 a1
,测试
2 a2
,测试
3 a3
, from
(
select Subject
,b1
,Grade
from table_1
unpivot(Grade
for Subject
in ([c1
],[c2
],[c3
])) as s
)as a
pivot(max(Grade
) for cs
in ([测试
1],[测试
2],[测试
3])) as b
1.第一个(测试1,测试2,测试3)是要展示的标题行字段真实的:数据值!!!
2.(b1)是要展示的标题行列名
3.(c1,c2,c3)是要进行分组的列(原来的列)
4.(MAX)聚合函数就是为了把这个数据展示出来,也可以使用SUM(但是必须有)
5.最后的(测试1,测试2,测试3)就是为了从b1中获取真实的数据值对应
6.(比如你在查张三的成绩表,他就会把张三的语文、数学、英语成绩从上向下的顺序排列
(记住:是把张三、语文、数学、英语:这四个数据))
unpivot:列转行 pivot:行转列 (这两个自己百度吧,会了教我!)