mysql行列转置-图文详解
生活随笔
收集整理的這篇文章主要介紹了
mysql行列转置-图文详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們想跑一個數據,格式如下圖:
但是我們一般的mysql語句跑出來的數據卻是下面這樣,不但不方便查看,在數據量比較大的時候,我們需要每個地區都轉置粘貼一遍,耗時耗力還容易出錯,下面提供一個方法,可以讓跑出來的數據就是你一開始想要的樣子(上圖),不但方便線上化的查看,也方便線下的粘貼。
Mysql 行列轉置方法
代碼 - case when語句:
SELECT t.`地區`, COUNT(DISTINCT (case WHEN t.班級 =1 THEN t.學號 end)) AS'班級1', COUNT(DISTINCT (case WHEN t.班級 =2 THEN t.學號 end)) AS'班級2', COUNT(DISTINCT (case WHEN t.班級 =3 THEN t.學號 end)) AS'班級3', COUNT(DISTINCT (case WHEN t.班級 =4 THEN t.學號 end)) AS'班級4' FROM cm1_0625 t where t.`地區`<>'' GROUP BY 1;代碼 - IF語句:
SELECT t.`地區`, COUNT(DISTINCT IF (t.班級 =1 , t.學號 ,0)) AS'班級1', COUNT(DISTINCT IF (t.班級 =2 , t.學號 ,0)) AS'班級2', COUNT(DISTINCT IF (t.班級 =3 , t.學號 ,0)) AS'班級3', COUNT(DISTINCT IF (t.班級 =4 , t.學號 ,0)) AS'班級4' FROM cm1_0625 t where t.`地區`<>'' GROUP BY 1;運行結果:
總結
以上是生活随笔為你收集整理的mysql行列转置-图文详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程书籍1020python
- 下一篇: python的序列类型及其特点_Flue