MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
列转行: 多列转多行
行转列:多行转多列
以下转自:https://www.cnblogs.com/ClassNotFoundException/p/6860615.html
列转行:利用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/maohuidong/p/11015972.html
MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)相关推荐
- MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
列转行:利用max(case when then) SELECT`name`,MAX(CASE WHEN course='语文' THENscoreEND) AS 语文,MAX(CASE WHEN c ...
- 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 ...
- mysql行转列和列转行_mysql 行转列和列转行实例详解
mysql行转列.列转行 语句不难,不做多余解释了,看语句时,从内往外一句一句剖析 行转列 有如图所示的表,现在希望查询的结果将行转成列 建表语句如下: create table `test_tb_g ...
- 5分钟搞懂MySQL - 行转列
小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里 MySQL行转列,对经常处理数据的同学们来说,一定是不陌生的,甚至是印象深刻,因为它大概率困扰过你,让你为之一愣~ ...
- mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列
想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...
- mysql行转列sql函数_sql动态行转列的两种方法
第一种方法: 代码如下: select *from ( select Url,case when Month=01 then '1月' when Month=02 then '2月' when ...
- mysql+行转列case+when_mySql 行转列 列转行 case when
from https://www.jianshu.com/p/5a2dae144238 mark: -- 建表 CREATE TABLE `student` ( `ID` int(10) NOT NU ...
- mysql 行转列分级输出_MySQL如何实现行转列分级输出?_MySQL
概述 好久没写SQL语句,今天看到问答中的一个问题,拿来研究一下. 问题链接:关于Mysql 的分级输出问题 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当 ...
- mysql行转列和列转行_Mysql中行转列和列转行
一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id IN ...
- mysql 行转列 列转行
一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score(id INT( ...
最新文章
- 关于量子计算,你应该知道的七个事实
- 【控制】如何入门自动控制理论
- 【转】C#中相同不同程序集存在相同的命名空间的时候的冲突解决办法
- VS里的新建模板(自动添加版本注释)
- spring之Bean的生命周期
- Spring Boot的自动配置的原理
- 【转】linux常用命令:find、grep
- android 大华电子秤波特率_大华条码秤对接经验总结
- centos系统 -官网下载mysql
- 腾讯是如何一刀刀,在15年间干死那些竞争对手的?! (zz)
- Python 数值四舍五入碰到遇5不进
- 电视机hdr是什么功能
- 解密Animate.css之CSS3动画实现方式大全源码(6星级)
- Android RSA加密解密的 工具类的使用
- mysql关闭空闲连接_终止空闲的mysql连接
- getPhoneNumber:fail Error: 用户绑定的手机需要进行验证,请在客户端完成短信验证
- MSN, 迅雷等调用小红伞作为杀毒软件的方法
- 英文论文写作摘要的时态和语态
- SAP 设置周期性的后台程序,SM36,图解操作 (转)
- android camera 工作原理,Android Camera原理之openCamera模块(一)
热门文章
- Operation和OperationQueue实战:异步下载图片并给图片加滤镜
- iphone 抹除设备是什么意思_环保设备公司什么意思?|危汇网|
- DSSM模型的原理简介,预测两个句子的语义相似度
- 345.反转字符串中的元音字母
- vector函数里的pair用法
- 解决一次模拟post请求的时候,出现中文???的错误
- linux centos目录结构(二)
- 编译原理完整学习笔记(七):优化代码
- 【2015-2016 NEERC - G】Graph【构造 + 拓扑排序】
- web.xml中配置spring的几种方式