牛牛襄阳网站建设,外包网站建设价格,大气医院网站源码,网站推广和网络推广我们想跑一个数据#xff0c;格式如下图#xff1a;但是我们一般的mysql语句跑出来的数据却是下面这样#xff0c;不但不方便查看#xff0c;在数据量比较大的时候#xff0c;我们需要每个地区都转置粘贴一遍#xff0c;耗时耗力还容易出错#xff0c;下面提供一个方法格式如下图但是我们一般的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;
运行结果