sql server行转列的一种实现方法

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

  对于有些业务来说,数据在表中的存储和其最终的表现恰好相当于把源表倒转,那么这个时候我们就碰到了如何把行转化为列的问题,为了简化问题,我们且看如下查询出来的数据,您不必关心表的设计以及sql语句:

  源表如下:(表名为info)

     2010033122294536.jpg

 

------------------------------------------------------------------------

  select username,   

     语文=(case course when '语文' then grade else 0 end),   

     数学=(case course when '数学' then grade else end),    

      政治=(case course when '政治' then grade else 0 end

  from info

  看看我们的执行结果:

  2010033122421476.jpg

 看到这后,我们都知道应该做什么了,进行分组,按姓名进行分组,并且对三门课程分别求和;

------------------------------------------------------------------------ 

  目标结果:

      2010033122295767.jpg

 

  SQL语句为:  

select username,
   语文=sum(case course when '语文' then grade else 0 end),
   数学=sum(case course when '数学' then grade else 0 end),
   政治=sum(case course when '政治' then grade else 0 end)
from info group by username

    select username,   

         语文=sum(case course when '语文' then grade else 0 end),  

         数学=sum(case course when '数学' then grade else end),   

        政治=sum(case course when '政治' then grade else 0 end)

    from info

    group by username

 

 


本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/archive/2010/03/31/1701802.html,如需转载请自行联系原作者。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
4月前
|
SQL
行转列【死磕sql】
行转列【死磕sql】
27 3
|
16天前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
25 4
|
28天前
|
SQL 机器学习/深度学习 自然语言处理
Text-to-SQL技术演进 - 阿里云OpenSearch-SQL在BIRD榜单夺冠方法剖析
本文主要介绍了阿里云OpenSearch在Text-to-SQL任务中的最新进展和技术细节。
|
1月前
|
SQL JSON 分布式计算
ODPS SQL ——列转行、行转列这回让我玩明白了!
本文详细介绍了在MaxCompute中如何使用TRANS_ARRAY和LATERAL VIEW EXPLODE函数来实现列转行的功能。
|
5月前
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
|
2月前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
3月前
|
JSON 数据格式 SQL
SQL开发问题之直接使用join方法在处理字符串类型属性时可能会遇到性能问题如何解决
SQL开发问题之直接使用join方法在处理字符串类型属性时可能会遇到性能问题如何解决
|
2月前
|
SQL 移动开发 Oracle
SQL查询连续六天数据记录的技巧与方法
在数据库查询中,实现针对连续几天(如连续六天)的数据筛选是一个常见且稍具挑战性的任务
|
2月前
|
SQL Oracle 关系型数据库
SQL添加字段记录详解:技巧与方法实践
在数据库管理中,经常需要向表中添加新的字段(列)或向现有字段中插入新的记录(行)
|
3月前
|
SQL 数据库 Python
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
44 1