sql 查询出一列内容,如何让它成一行显示。
发布网友
发布时间:2022-04-10 04:48
我来回答
共4个回答
懂视网
时间:2022-04-10 09:10
select
student,
sum(case Course when ‘语文‘ then Score else null end) 语文,
sum(case Course when ‘数学‘ then Score else null end) 数学,
sum(case Course when ‘英语‘ then Score else null end) 英语
from
test
group by
student
得到结果:
sql列转行查询
标签:ase src 技术分享 code 分享 ima from blog 语文
热心网友
时间:2022-04-10 06:18
进行行转列下面是相关语法等
PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:
table_source
PIVOT(
聚合函数(value_column)
FOR pivot_column
IN(<column_list>)
)
View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现
完整语法:
table_source
UNPIVOT(
value_column
FOR pivot_column
IN(<column_list>)
)
热心网友
时间:2022-04-10 07:36
--参考
SELECT STUFF((SELECT ','+ 字段名称 FROM 表名称 for xml path('')),1,1,'');
热心网友
时间:2022-04-10 09:10
--case when 可以进行横列转换