2018-10-17
閱讀量:
2181
MySQL中case when實(shí)現(xiàn)行轉(zhuǎn)列
問題描述
MySQL中case when實(shí)現(xiàn)行轉(zhuǎn)列時(shí)為什么要用max()或者其他聚合函數(shù)
原始數(shù)據(jù)如下圖:



解決方法
1、當(dāng)不加聚合函數(shù)未分組的數(shù)據(jù)顯示如下圖:

然后執(zhí)行GROUP BY時(shí)因?yàn)闆]有聚合函數(shù),那么會(huì)從基表里取分組后字段的第一條數(shù)據(jù)。

就顯示為以下結(jié)果:

2、當(dāng)加聚合函數(shù)后,這個(gè)基表MAX()中因?yàn)閏ase when‘課程’取最高分,再對(duì)‘姓名’進(jìn)行分組,所以檢索出每個(gè)姓名下每個(gè)科目的最高分。







評(píng)論(0)


暫無數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
1條評(píng)論