sql serve,行,列,转换,unpivot,pivot,子查询,007,nb

    技术2024-01-20  96

    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:行转列 (这两个自己百度吧,会了教我!)

    Processed: 0.012, SQL: 9