sql语句如何实现行转列
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关sql语句如何实现行转列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据
千家信息网最后更新 2025年01月31日sql语句如何实现行转列
这篇文章将为大家详细讲解有关sql语句如何实现行转列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
前言
一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据库里查询出来的会是这样的,但这并不能达到想要的效果,所以要在查询的时候做一下处理,下面话不多说了,来一起看看详细的介绍。
CREATE TABLE TestTable( [Id] [int] IDENTITY(1,1) NOT NULL, [UserName] [nvarchar](50) NULL, [Subject] [nvarchar](50) NULL, [Source] [numeric](18, 0) NULL) ON [PRIMARY]goINSERT INTO TestTable ([UserName],[Subject],[Source]) SELECT N'张三',N'语文',60 UNION ALL SELECT N'李四',N'数学',70 UNION ALL SELECT N'王五',N'英语',80 UNION ALL SELECT N'王五',N'数学',75 UNION ALL SELECT N'王五',N'语文',57 UNION ALL SELECT N'李四',N'语文',80 UNION ALL SELECT N'张三',N'英语',100GO
这里我用了三种方法来实现行转列第一种:静态行转列
select UserName 姓名,sum(case Subject when '语文' then Source else 0 end) 语文,sum(case Subject when '数学' then Source else 0 end) 数学,sum(case Subject when '英语' then Source else 0 end) 英语 from TestTable group by UserName
用povit行转列
select * from (select UserName,Subject,Source from TestTable) testpivot(sum(Source) for Subject in(语文,数学,英语)) pvt
用存储过程行转列
alter proc pro_test@userImages varchar(200),@Subject varchar(20),@Subject1 varchar(200),@TableName varchar(50)as declare @sql varchar(max)='select * from (select '+@userImages+' from'+@TableName+') tabpivot(sum('+@Subject+') for Subject('+@Subject1+')) pvt'exec (@sql)goexec pro_test 'UserName,Subject,Source','TestTable','Subject','语文,数学,英语'
它们的效果都是这样的
以上三种方式实现行转列,我们可以根据自己的需求采用不同的方法
关于"sql语句如何实现行转列"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
语文
数学
英语
篇文章
王五
语句
效果
数据
方法
时候
更多
张三
李四
查询
统计
不同
不错
实用
内容
前言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
aspsql数据库查询
db2数据库官网
加油站风险数据库填报
es逻辑删除数据库
数字货币数据库找回货币
杭州火淘网络技术有限公司好吗
数据库管理系统安全技术要求
网络安全服务提供商概念股
小学生网络安全主题班会通知
服务器怎么续费
我的世界扁桃服务器
金属服务器和数据中心
微软云服务器怎么用
导入数据库提示驱动失败
id服务器时出错怎么办
服务器内存是啥意思
光伏软件开发费
服务器安全防护哪个好排行
c数据库连接字符串
服务器怎么进阵列管理
网络安全保卫总队警员
流程表单数据库设计
简易网络安全巡查报告
朔州网络技术价格
长沙网络安全认证几年有效
怎么更改服务器的管理权限
软件开发和大数据库
5evac安全服务器启动项
我的世界服务器调时间
未来之役服务器维护2022