`
FirstBlood
  • 浏览: 161646 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

SQL竖表转换成横表统计

    博客分类:
  • SQL
 
阅读更多

转换前
id name subject score
1 张三 语文 80
2 张三 数学 90
3 李四 数学 85
4 张三 英语 75
5 李四 语文 85
6 李四 英语 80

转换后:

姓名 语文 数学 英语
李四 85 85 80
张三 80 90 75


SELECT * FROM(
  SELECT name as [姓名], 
  SUM(CASE WHEN [subject] = '语文' THEN score END) AS [语文], 
  SUM(CASE WHEN [subject] = '数学' THEN score END) AS [数学], 
  SUM(CASE WHEN [subject] = '英语' THEN score END) AS [英语] 
  FROM [user] GROUP BY name
) temp




平均分(with cube):

姓名 语文 数学 英语
李四 85 85 80
张三 80 90 75
NULL 82 87 77



SELECT [姓名],AVG([语文])as [语文],AVG([数学])as [数学],AVG([英语])as [英语] FROM(    
SELECT name as [姓名],
  SUM(CASE WHEN [subject] = '语文' THEN score END) AS [语文],
   SUM(CASE WHEN [subject] = '数学' THEN score END) AS [数学],
   SUM(CASE WHEN [subject] = '英语' THEN score END) AS [英语]    
  FROM [user] GROUP BY name
) temp group by [姓名] with cube

0
3
分享到:
评论

相关推荐

    SQL 将 竖表 变横

    1. **销售数据分析**:对于不同时间点的产品销量统计,可以通过行列转换将时间维度的数据从竖表转为横表,方便进行趋势分析。 2. **用户行为分析**:对用户的点击流数据进行汇总统计时,可以通过行列转换将不同行为...

    竖表横向转换.sql

    竖表横向转换,核心: declare @s varchar(8000) set @s='' select @s=@s+',['+field1+']=max(case field1 when '''+field1+''' then data else '''' end)' from(select distinct field1 from #t) a

    SQL Server纵表与横表相互转换的方法

    SQL Server中,数据有时需要从纵表(也称为长格式)转换为横表(也称为宽格式),反之亦然,以适应不同的分析需求。本文将详细讲解SQL Server中纵表与横表相互转换的方法。 1. **纵表转横表** 纵表通常具有一个或...

    mysql转化成sql server sql转化成mysql工具

    标题提到的“mysql转化成sql server”和“sql转化成mysql工具”就是解决这个问题的关键。 首先,我们来讨论MySQL到SQL Server的转换。MySQL是一种开源、轻量级的DBMS,适合小型到大型的应用场景。而SQL Server则...

    SqlServer表结构转oracle表结构

    在数据库管理领域,将SQL Server的表结构转换到Oracle数据库是一项常见的需求,特别是在系统迁移或数据整合的过程中。本文将详细探讨如何实现这一过程,并提供C#开发源码的相关信息。 首先,我们需要理解SQL Server...

    T392551790.zip datatable 横表转竖表 横表转纵表 通用的代码

    在某些场景下,将横表转换为竖表,或反之,是非常必要的,例如为了适应特定的数据分析工具、报表展示或数据存储格式。这个名为"T392551790.zip"的压缩包提供了一段通用的代码,用于实现横表与竖表之间的转换,主要...

    将SQL数据库表转换成XML文件输出(脚本)

    ### 将SQL数据库表转换成XML文件输出(脚本) #### 概述 在实际工作中,经常需要将数据库中的表数据导出为其他格式以便于传输或与其他系统进行交互。其中,XML作为一种广泛使用的数据交换格式,具备良好的跨平台性...

    sql由竖向的数据转变成横向的数据.txt

    Sql在查询操作时,根据年、月等条件查询出的某一物品的销售量数据时,数据显示为树形,在使用sql后,将树形的数据,转化为横向展示,即年、月作为列显示

    sql 2005 纵向表横向输出存储过程

    在SQL中,通常我们会使用PIVOT函数来实现纵向表到横向表的转换。PIVOT是SQL Server 2005引入的新特性,它允许我们将特定的行值转换为列名,从而达到行列转换的效果。这个过程通常包括以下步骤: 1. **定义源数据表*...

    XML查询语句转换成SQL语句的实现.pdf

    XML 查询语句转换成 SQL 语句的实现 ...6.将 XPath、XQuery 语句转换成 SQL 语句的算法实现需要考虑 Edge 表的产生。 7.XML 查询语句转换成 SQL 语句的实现需要考虑查询语言的功能特性和查询表达式的语法格式。

    Oracle Sql语句转换成Mysql Sql语句

    4. **游标**:Oracle SQL支持游标,MySQL则不直接支持,需要使用存储过程或临时表来实现类似功能。 5. **函数和操作符**:两者内置的函数和操作符有所不同,例如Oracle的NVL对应MySQL的IFNULL,Oracle的TO_DATE对应...

    SQLServer表数据转化为sql语句(表数据搬运,一键快捷导出为insert语句,方便导入到其它库)

    ,@sqlWhere nvarchar(500) --where条件,如'a=''123'' '(传空时,导出全表数据) 不足: 不支持binary,image等类型; 编写:liangning 2024/4/3. 测试: exec dbo.BuildSqlToExportData2 'Table1','ParentID=''...

    SQL 数据表转化为XML 文件

    总结来说,"SQL 数据表转化为XML 文件"是一个常见且重要的任务,通过专门的工具如"SqlXmlTool"可以提高效率并提供更多的灵活性。理解这个工具的工作原理和使用技巧,对于在数据处理和集成场景中优化工作流程至关重要...

    SQL SERVER数据库纵表转横表应用浅析.pdf

    SQL Server数据库中实现纵表转横表的方法有多种,本文旨在对这些方法进行总结分析,以期对同行业者在类似需求时提供一定的参考和帮助。 首先需要明确的是,纵表转横表的基本模型。以表1为例,纵表包含人员、回款、...

    将SQL数据表的一列转换为一行.docx

    SQL 数据表列转换为一行 在数据库管理中,经常会遇到将多行数据转换为一行多列的情况。这类操作可以使用 stored procedure 来实现。在 MySQL 中,可以使用以下方法来将 SQL 数据表的一列转换为一行。 知识点1:...

    sql由入库单与出库单统计库存

    根据提供的信息,我们可以了解到这里涉及的是通过SQL查询来统计仓库中的库存情况,即根据入库单和出库单来计算每种商品当前的库存数量。为了更好地理解和实现这一目标,我们将从以下几个方面进行深入探讨: ### ...

    SqlServer mssql 交叉查询,横表变纵表

    sql server 交叉查询, 查询结果交叉表,横表变纵表

    EXCEL表转换SQL2000表

    “EXCEL转SQL”标签表明了这个工具的主要功能,即从Excel文件中读取数据并将其转换成SQL语句,这些语句可以直接在SQL Server 2000中执行,创建或更新表中的数据。此外,“.xml转.sql”标签暗示该工具可能还支持XML...

    SqlServer表结构转Oracle

    3. **存储过程和函数**:如果SQL Server中有自定义的存储过程和函数,"SqlServerToOracle"可能也提供了转换功能,将它们转换成Oracle的PL/SQL代码。 4. **视图和触发器**:同样,视图和触发器的逻辑也需要在目标...

Global site tag (gtag.js) - Google Analytics