bitsCN.com

/*创建数据库*/

CREATE DATABASE tmp

go

USE tmp

go

/*创建数据库测试表*/

CREATE TABLE [Scores]

(

[ID] INT IDENTITY(1, 1)

PRIMARY KEY ,

[Student] VARCHAR(20) ,

[Subject] VARCHAR(30) ,

[Score] FLOAT

)

go

TRUNCATE TABLE Scores

/*插入数据库测试数据信息*/

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'test001', '语文', '90' )

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'test001', '英语', '85' )

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'text002', '语文', '90' )

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'text002', '英语', '80' )

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'test003', '语文', '95' )

INSERT INTO Scores

( Student, Subject, Score )

VALUES ( 'test003', '英语', '85' )

/*1. case when .......then else ....end 用法,行列转换*/

SELECT Student AS '姓名' ,

MAX(CASE Subject

WHEN '语文' THEN Score

ELSE 0

END) AS '语文' ,--如果这个行是“语文”,就选此行作为列

MAX(CASE Subject

WHEN '英语' THEN Score

ELSE 0

END) AS '英语'

FROM Scores

GROUP BY Student

ORDER BY Student

/*2. pivot(聚合函数(要转成列值的列名)

for 要转换的列

in(目标列名)

)*/

SELECT Student AS '姓名' ,

AVG(语文) AS '语文' ,

AVG(英语) AS '英语'

FROM Scores PIVOT( AVG(Score) FOR Subject IN ( 语文, 英语 ) )as NewScores

GROUP BY Student

ORDER BY Student ASCbitsCN.com

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql行列转换case_浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用_MySQL...相关推荐

  1. SQL语句行列转换两种方法 case ...when 和pivot函数应用

    2019独角兽企业重金招聘Python工程师标准>>> SQL语句行列转换两种方法 case ...when 和pivot函数应用SQL语句行列转换两种方法 case ...when ...

  2. mysql pivot函数怎么用_浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用...

    /*创建数据库*/ CREATE DATABASE tmp go USE tmp go /*创建数据库测试表*/ CREATE TABLE [Scores] ( [ID] INT IDENTITY(1 ...

  3. Mysql使用binlog恢复数据解决误操作问题的两种方法

    Mysql使用binlog恢复数据解决误操作问题的两种方法 参考文章: (1)Mysql使用binlog恢复数据解决误操作问题的两种方法 (2)https://www.cnblogs.com/Data ...

  4. SQL Server新建数据库的两种方法

    SQL Server新建数据库的两种方法分别是: SQL Server Management Studio管理工具可视化创建 使用Transact-Sql创建 SQL Server Managemen ...

  5. CAD图纸转换成高质量的PDF文件,两种方法一步搞定哦

    其实提到CAD,可能大家都大致的了解,CAD现在已经是建筑行业运用的非常广泛的一个设计软件了,其实CAD就是一种计算机辅助软件,可以高效的帮助我们进行图纸的绘制.我们一般在设计完图纸,可能定会转换格式 ...

  6. pdf怎么转换成jpg图片?快来收藏这两种方法

    PDF文件是一种广泛使用的文档格式,因其跨平台.兼容性强.内容不易变化等优点,被广泛应用于各行各业.然而,在某些情况下,我们需要将PDF文件转换为图片格式,例如需要将PDF文件的内容插入到演示文稿中, ...

  7. excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法

    这几天基于Heritrix写了一个爬虫,用到mysql,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看. 一.导出数据. 先说明一下自己的环境:Mac OS X 10.8.3, ...

  8. mysql补充(3)优化sql语句查询常用的30种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  9. MySQL中优化sql语句查询常用的30种方法

    为什么80%的码农都做不了架构师?>>>    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 whe ...

最新文章

  1. CNN光流计算--FlowNet: Learning Optical Flow with Convolutional Networks
  2. php 创建文件编码,php fopen创建utf8编码文件例子
  3. 普通话书籍计算机辅助,计算机辅助普通话水平测试指南
  4. 框架:初识Spring
  5. 一口气说出 4种 “附近的人” 实现方式,面试官笑了
  6. <文本,场景图>解析实践
  7. Another Blog
  8. jq的链式调用.end();
  9. zigbee板子:lcd显示汉字
  10. android file isdirectory,android – 为什么我不能在Environment.DIRECTORY_PICTURES中创建一个目录?...
  11. mosquitto源码分析(四)
  12. 出现红字是电脑问题吗_苹果12还会出现信号不好的问题吗?
  13. 制作ftl文件通过FreeMarke生成PDF文件(含图片处理)
  14. ARM存储器控制器的使用
  15. Kubernetes 学习总结(29)—— 使用 kubeadm 部署 Kubernetes 1.24 详细步骤总结
  16. Docker API的
  17. ClickHouse入门基础教程
  18. sed命令在Mac OS X上出现“未定义标签”错误
  19. TextRank算法实践
  20. 1.2 UI设计之基本布局

热门文章

  1. HDU1233 还是畅通工程【Kruskal算法+并查集】
  2. 九章算术卷第九 句股
  3. KMP模式匹配算法程序(Python,C++,C)
  4. node.js 安装及配置(hello world)及 node 的包管理器(npm)
  5. Matlab Tricks(十五) —— 圆的正确画法
  6. 强悍的 Linux —— 系统文件及其作用
  7. 数据结构与算法的分析 —— 平均时间复杂度 vs 分摊时间复杂度
  8. 英文的写作 —— 词汇的积累(环境的描写、写人)
  9. Tricks(四十三)—— 逆序的方式访问一个 list
  10. C++基础::shared_ptr 编程细节(一)