列转行:利用max(case when then)

SELECT`name`,MAX(CASE WHEN  course='语文' THENscoreEND) AS 语文,MAX(CASE WHEN course='数学' THENscoreEND) AS 数学, MAX(CASE WHEN course='英语' THENscoreEND) AS 英语
FROMstudent
GROUP BY `name`
;

合并字段显示:利用group_cancat(course,”:”,”score”)

SELECT`name`,GROUP_CONCAT(course, ":", score) AS 成绩
FROMstudent
GROUP BY`name`;

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

-- 合并字段显示 : 去重、排序
SELECT rid,GROUP_CONCAT(DISTINCT gid ORDER BY gid)
FROM gt_lighting.res_lights
GROUP BY rid;

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

多来点面试题:

计算各班级及格人数:

    SELECT class,SUM(CASE WHEN score >= 60 THEN 1 END) AS '及格',SUM(CASE WHEN score < 60 THEN 1 END) AS '不及格'FROM gradeTableGROUP BY class;

或者:

    SELECT succ.class,succ.su AS '及格',fail.fa AS '不及格' FROM (SELECT class,COUNT(1) AS suFROM gradeTableWHERE score >= 60GROUP BY class) AS succ,(SELECT class,COUNT(1) AS faFROM gradeTableWHERE score < 60GROUP BY class) AS failWHERE succ.class = fail.class;

Console :

啦啦啦

啦啦啦

转载于:https://www.cnblogs.com/ClassNotFoundException/p/6860615.html

MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)相关推荐

  1. mysql的max case_MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)

    列转行:利用max(case when then) SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CAS ...

  2. mysql行转列和列转行_mysql 行转列和列转行实例详解

    mysql行转列.列转行 语句不难,不做多余解释了,看语句时,从内往外一句一句剖析 行转列 有如图所示的表,现在希望查询的结果将行转成列 建表语句如下: create table `test_tb_g ...

  3. 5分钟搞懂MySQL - 行转列

    小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里 MySQL行转列,对经常处理数据的同学们来说,一定是不陌生的,甚至是印象深刻,因为它大概率困扰过你,让你为之一愣~ ...

  4. mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列

    想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...

  5. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

  6. mysql+行转列case+when_mySql 行转列 列转行 case when

    from https://www.jianshu.com/p/5a2dae144238 mark: -- 建表 CREATE TABLE `student` ( `ID` int(10) NOT NU ...

  7. mysql 行转列分级输出_MySQL如何实现行转列分级输出?_MySQL

    概述 好久没写SQL语句,今天看到问答中的一个问题,拿来研究一下. 问题链接:关于Mysql 的分级输出问题 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当 ...

  8. mysql行转列和列转行_Mysql中行转列和列转行

    一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id IN ...

  9. mysql 行转列 列转行

    一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score(id INT( ...

最新文章

  1. Android四大基本组件和生命周期的介绍
  2. 看固态存储厂商在硝烟四起的市场中如何发展?
  3. 虚机和实体服务器性能,虚机的性能主要与以下几方面有关
  4. python的类写法_Python3 类静态数据的写法
  5. 《统计学》学习笔记之时间序列分析和预测
  6. twitter自定义api_为Twitter4j创建自定义SpringBoot Starter
  7. 理解CSS3 max/min-content及fit-content等width值
  8. MCの生存游戏(洛谷P1867题题解,Java语言描述)
  9. Scintilla 3 24在MFC中的使用 动态 静态
  10. 【hortonworks/registry】创建嵌套结构的scheam和带空值的schema
  11. Python Selenium之异常处理
  12. WebRtc搭建 coturn
  13. mysql读写分离 保持数据一致性_读写分离数据库如何保持数据一致性
  14. NetCore控制台实现自定义CommandLine功能
  15. 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追跡的批次处理
  16. cad打印去掉边框_CAD打印的时候如何去掉打印线框?
  17. 联想Y460 XP下独显叹号
  18. ArcGIS | 02小技巧-三调地类转换
  19. 7步轻松设置授权管理器License Manager
  20. 【我的新书】一步一步学SpringBoot 2:微服务项目实战

热门文章

  1. 一个socket可以绑定多个端口吗_udp绑定端口信息
  2. Vue中判断对象属性是否存在
  3. Java NPOIFSFileSystem.getRoot方法代碼示例
  4. init 0-6 这几个启动级别都代表什么意思
  5. mysql 出现 “1067 - Invalid default value for ‘UPDATE_TIME‘ “ 错误提示的解决办法
  6. Oracle提示“ORA-04098:触发器‘XXX_TRIGGER’无效且未通过重新验证”
  7. 使用DataX从ORACLE同步数据到MYSQL
  8. 蒙哥马利java算法_算法详解 - 蒙哥马利算法的概念与原理
  9. 颠覆世界的新技术:区块链
  10. Unity寻路的功能总结