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行列转置-图文详解相关推荐
- MySQL 内部 临时表 图文 详解
MySQL 内部 临时表 图文 详解 文章目录 MySQL 内部 临时表 图文 详解 1. 准备工作 2. 哪些场景会用到临时表? 3. 临时表用哪种存储引擎? 4. 内存临时表变磁盘临时表 5. 写 ...
- 【必知必会】手把手教你配置MySQL环境变量——图文详解
一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...
- MySQL索引-视频+图文详解
MySQL索引与二分查找法 DB哥MySQL高级教程-系统学习MySQL共149课时 加我微信公众号免费学:DB哥 文末有MySQL高级课程目录 前言 因为现在使用的mysql默认存储引擎是Innod ...
- MySQL - undo log 图文详解
一 前言 undo log 是 innodb 实现,总的来说提供两个作用:回滚和多版本控制(MVCC).是事务特性的重要组成部分,在数据发生更新操作时候(INSERT.DELETE.UPDATE)时会 ...
- 【mysql】mysql数据库事务图文详解
1.什么是事务 事务-Transaction:一个最小的不可再分的工作单元:通常一个事务对应一个完整的业务(例如银行账户转账业务),该业务就是一个最小的工作单元. 引入事务的主要目的:事务会把数据库从 ...
- mysql安装教程8.0.21安装_mysql8.0.21安装教程图文详解
1.下载 下载链接 点击download,这里可能需要登录甲骨文的账号,登录一下即可 2.解压 下载好会得到一个安装包 把它解压到一个能找到的目录下即可,我的是这样(my.ini文件你们应该没有) 3 ...
- mysql 5.5.18下载_MySQL5.7.18下载和安装过程图文详解
MySql下载 1.打开官网找到下载路口,这里直接给出下载的地址 2.选择64位版本 3.直接下载 MySql5.7.18.1安装过程 1 .运行安装软件,接受协议 2.选择默认安装 3.下一步到 ...
- mysql拷贝文件安装_Mysql5.7.18的安装与主从复制图文详解
CentOS6.7安装mysql5.7.18 1. 解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /u ...
- mysql数据库主主_MySQL主主复制(图文详解)
MySQL主主复制(图文详解) 发布时间:2020-07-12 23:10:25 来源:51CTO 阅读:218 作者:BonnieJason 一.实现原理 主主复制即在两台MySQL主机内都可以变更 ...
最新文章
- LeetCode简单题之检查数组是否经排序和轮转得到
- java严格区分大小写吗_Java是否区分大小写?
- 一个java删除文件夹的小方法
- 线程返回值的方式介绍
- JanusGraph 安装
- python课后题答案第一章_Python程序设计课后习题答案-第一单元
- 我的世界服务器的交易系统,我的世界村民交易系统详解_我的世界交易系统介绍_牛游戏网...
- 树莓派(Raspberry Pi)搭建简单的lamp服务
- Q8 凯立德 J07 升级方法
- 【Python05】Python转义字符
- 脑语言2500令v0.5.5
- 烤仔的客厅 | 明晚7:30,KAKA和烤仔在b站等你~
- Linux利用终端执行命令,linux – 通过/ dev / pts在另一个终端中执行命令
- Java代码实现奇数和偶数的判断
- 关于Adobe flash player 本地播放器
- 关于length specifier
- SAP 谈谈存货分析报表
- 什么是前端渲染和后端渲染和SPA页面
- 信息安全-零信任技术-SDP是什么,SDP可以防御哪些安全威胁
- matching wildcard is strict, but no declaration can be found for element forcontext:property-plac
热门文章
- Notadd 2.0 全新 Node.js 版本~ (开发中) [从 PHP 到 node 的踩坑记]
- Java的几个同步辅助类
- What code you will get when you create a wcf library
- boost::scoped_ptr与std::unique_ptr
- C++中使用try{}catch()的优/缺点
- 使用croc命令在Linux系统电脑之间传输文件和文件夹
- 同事说rar压缩有风险,让我用zip压缩文件
- 我等这个含蓄的技术男当上了CEO
- C语言指针:从底层原理到花式技巧,用图文和代码帮你讲解透彻
- C语言验证大小端的几个方法