mysql的max case,MySQL — 行转列 — GROUP_CONCAT — MAX(CASE WHEN THEN)

列转行: 多列转多行

行转列:多行转多列

#

以下转自:https://www.cnblogs.com/ClassNotFoundException/p/6860615.html

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

636cbf7dd3fe5bf535732f9de81dbd91.png

6fa2b4f0a46a852aebe2b8bc59db8949.png

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`

;

2fb6a964bd10a8e742cb48f24a550f4d.png

a1944cc780c812bfd338fb2ff03d6da4.png

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

6a891502e57ba76f7369ee315a55c53c.png

SELECT

`name`,

GROUP_CONCAT(course, ":", score) AS 成绩

FROM

student

GROUP BY

`name`;

4e3f5c0aacf2de5f41e91765cb6ca44f.png

6867bc4cc955e2033b7429d746f4f39b.png

-- — — — — — — — – — — — — — — — — — — — — — — — — — — — — – — — — — — — — — — — — — — — — — — — — — – — — — — — — — — — — — — –

-- 合并字段显示 : 去重、排序

SELECT rid,GROUP_CONCAT(DISTINCT gid ORDER BY gid)

FROM gt_lighting.res_lights

GROUP BY rid;

b0da61efb63f58e9772bd68fdce25643.png

-- — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

多来点面试题:

b571d3cb96f0b4e0c41198ce4e24edb4.png

计算各班级及格人数:

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;

或者:

e51bfb011fab668669c007bca888dc77.png

SELECT succ.class,succ.su AS '及格',fail.fa AS '不及格' FROM

(

SELECT class,COUNT(1) AS su

FROM gradeTable

WHERE score >= 60

GROUP BY class

) AS succ,

(

SELECT class,COUNT(1) AS fa

FROM gradeTable

WHERE score < 60

GROUP BY class

) AS fail

WHERE succ.class = fail.class;

6e15676db4ee719319a304ef5eb8ef24.png

Console :

c9f82c74f35f03859bcc4e5cfa509c02.png

啦啦啦

https://www.cnblogs.com/maohuidong/tag/Mysql/default.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值