`
FirstBlood
  • 浏览: 162800 次
  • 性别: 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. **用户行为分析**:对用户的点击流数据进行汇总统计时,可以通过行列转换将不同行为...

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

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

    我的新菜单

    5. "SQL竖表转换成横表统计":这可能涉及到SQL的聚合和透视操作,将垂直布局的数据转换为水平布局,便于统计分析。这种操作在报表生成和数据分析中非常常见。 6. "实现小数据量和海量数据的通用分页显示存储过程....

    经典SQL脚本大全

    │ 统计一个表中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角与...

    Sqlserver2000经典脚本

    多栏显示.sql │ 日期+星期+时间.sql │ 格式化报表.sql │ 横转竖-1.sql │ 横转竖-字段名.sql │ 横转竖-生成字段名.sql │ 横转竖.sql │ 行列互换的复杂交叉表.sql │...

    mysql横向转纵向、纵向转横向排列的方法

    在MySQL中,可以使用`UNION`操作符实现这个转换,将多个记录的某个字段值组合成一行。例如,如果我们想获取id为1的用户的所有科目和分数,可以这样操作: ```sql SELECT km FROM test_01 WHERE id = 1 UNION SELECT...

    DB2函数详解

    - **定义**:`COUNT` 函数用于统计表中的行数或特定列中非空值的数量。 - **用途**:用于快速了解表中数据的大致规模。 - **语法示例**: ```sql SELECT COUNT(*) FROM table_name; SELECT COUNT(column_name) ...

    C#报表打印

    对于数据库中的竖向列表数据,通常我们需要将其转换为适合打印的横向格式。这涉及到数据的转置操作,即把行变为列,列变为行。在C#中,我们可以使用林林总总的算法或Linq查询来实现这一转换。例如,使用嵌套循环遍历...

    discuz论坛插件DZ插件 【烟雨】视频播放转换 至尊版v2.0.3

    3. **自适应播放器**:插件可能集成了智能播放器,能根据用户设备的屏幕大小和网络状况自动选择合适的视频质量,提供横屏或竖屏模式,以及流畅的播放体验。 4. **防盗链保护**:对于论坛的原创视频内容,插件可能...

Global site tag (gtag.js) - Google Analytics