mysql 行转列 case_MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)

本文介绍了MySQL中如何使用MAX(CASE WHEN THEN)实现行转列,结合GROUP BY对数据进行聚合。同时,展示了如何利用GROUP_CONCAT函数合并字段,并实现了去重和排序的功能。示例代码包括了将学生课程成绩按姓名聚合,以及在资源灯光数据中进行去重和排序的场景。
摘要由CSDN通过智能技术生成

`name`,MAX(CASE

WHEN course=‘语文‘ THENscoreEND)AS语文,MAX(CASE

WHEN course=‘数学‘ THENscoreEND)AS数学,MAX(CASE

WHEN course=‘英语‘ THENscoreEND)AS英语FROMstudentGROUP BY`name`

;

20180110232216269845.png

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

SELECT`name`,

GROUP_CONCAT(course, ":", score)AS成绩FROMstudentGROUP BY`name`;

20180110232216271798.png

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

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

SELECT rid,GROUP_CONCAT(DISTINCT gid ORDER BYgid)FROMgt_lighting.res_lightsGROUP BY rid;

20180110232216272775.png

啦啦啦

MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)

标签:tin   com   logs   合并   行转列   .com   分享   images   转行

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/ClassNotFoundException/p/6860615.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值