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

SELECT
`name`,
MAX(
CASE
WHEN course='语文' THEN
score
END
) AS 语文,
MAX(
CASE
WHEN course='数学' THEN
score
END
) AS 数学,
MAX(
CASE
WHEN course='英语' THEN
score
END
) AS 英语
FROM
student
GROUP BY `name`
;

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

SELECT
`name`,
GROUP_CONCAT(course, ":", score) AS 成绩
FROM
student
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 gradeTable
GROUP BY class;

或者:

    SELECT succ.class,succ.su AS '及格',fail.fa AS '不及格' FROM
(
SELECT class,COUNT() AS su
FROM gradeTable
WHERE score >=
GROUP BY class
) AS succ,
(
SELECT class,COUNT() AS fa
FROM gradeTable
WHERE score <
GROUP BY class
) AS fail
WHERE succ.class = fail.class;

Console :

啦啦啦

啦啦啦

MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)的更多相关文章

  1. MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用

    在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb ...

  2. mysql行转列,列转行

    行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清 ...

  3. MySQL 行转列 -》动态行转列 -》动态行转列带计算

    Pivot Table Using MySQL - A Complete Guide | WebDevZoomhttp://webdevzoom.com/pivot-table-using-mysql ...

  4. mysql行转列,函数GROUP_CONCAT(expr)

    demo: 语句: SELECT '行' id, '' product_nameUNIONSELECT id, product_name FROM `product` WHERE id < 5 ...

  5. mysql行转列转换

    http://blog.csdn.net/sinat_27406925/article/details/77507478 mysql 行列转换 ,在项目中应用的极其频繁,尤其是一些金融项目里的报表.其 ...

  6. mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

    数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ...

  7. MySql 行转列 存储过程实现

    同学们在使用mysql的过程中,会遇到一个行转列的问题,就是把多条数据转化成一条数据 用多列显示. 方法1. 实现方式用下面的存储过程,表名对应的修改就行. BEGIN declare current ...

  8. mysql 行转列 列转行

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

  9. [转]mysql 行转列 列转行

    原文地址:http://www.cnblogs.com/xiaoxi/p/7151433.html 一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABL ...

随机推荐

  1. Vue插件写、用详解(附demo)

    出处http://blog.csdn.net/qq20004604 Vue插件 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共 ...

  2. GemFire 入门篇2:GemFire 8.2 在CentOS & Mac OS X的安装步骤

    GemFire目前已经开源,开源项目的主页:http://geode.incubator.apache.org/,商业版本的主页:https://pivotal.io/big-data/pivotal ...

  3. 图文并茂 —— 基于Oozie调度Sqoop

    利用大数据来做BI分析的时候,必不可少需要设置一些调度任务. 本篇就讲述一下如何利用hue来编辑shell操作,这里面的很多操作在其他的调度操作里面也是可以借鉴的. 如果是linux里面可以直接执行的 ...

  4. tomcat配置问题

    1.首先安装JDK和Tomcat(我的tomcat是解压缩版的) 2.配置JDK环境变量 3.配置tomcat环境变量 4.在MyEcliipse中配置JDK(可以使用MyEclipse自带的tomc ...

  5. js实现的map方法

    /** * * 描述:js实现的map方法 * @returns {Map} */ function Map(){ var struct = function(key, value) { this.k ...

  6. FXAA,FSAA与MSAA有什么区别?效果和性能上哪个好

    而MSAA基本上只对画面中物体的边缘进行放大.混合的抗锯操作,因为边缘是锯齿最明显的地方(注意不是所有的边缘).提取边缘,主要是结合深度技术.MSAA是种硬件AA.我们一般说的4x.8x,就是放大倍数 ...

  7. linux tomcat 绑定域名

    1.解析域名到对应的服务器ip 2.找到tomcat安装路径进入/conf 3.vi server.xml 4.修改<Connector port="8080" protoc ...

  8. 使用three.js写全景图,使用sprite类canvas,结合射线,点击跳转指定全景图【转】

    https://blog.csdn.net/WDCCSDN/article/details/81214804 话不多说上代码: 1.html: <!DOCTYPE html>    < ...

  9. Queue depth

    Queue depth - It is the number of I/O requests that can be kept waiting to be serviced in a port que ...

  10. AndroidStudio下加入百度地图的使用(四)——路线规划

    上一章中我们已经完成了API常用的方法及常量属性的使用,这一章向大家介绍一下地图的重要功能-路线规划. (1) 定义API中的路线查询类: RoutePlanSearch mSearch = Rout ...