MYSQL 横向展示数据
为什么80%的码农都做不了架构师?>>>
最近准备面试题,想之前面试过一家公司时遇到一个SQL题,横向展示一个表中数据,当时没写出现写下总结,以免忘记。
-- ----------------------------
-- Table structure for `t_subject`
-- ----------------------------
DROP TABLE IF EXISTS `t_subject`;
CREATE TABLE `t_subject` (`id` int(11) NOT NULL DEFAULT '0',`name` varchar(255) DEFAULT NULL,`subject` varchar(255) DEFAULT NULL,`results` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of t_subject
-- ----------------------------
INSERT INTO `t_subject` VALUES ('1', '小明', '语文', '50');
INSERT INTO `t_subject` VALUES ('2', '小明', '数学', '20');
INSERT INTO `t_subject` VALUES ('3', '小乐', '英语', '122');
INSERT INTO `t_subject` VALUES ('4', '小乐', '语文', '500');
INSERT INTO `t_subject` VALUES ('5', '小二', '数学', '100');
有一张表,表中包含一个三个人有三个科目。
SELECTt.name ,SUM(IF (t.subject = '语文',t.results,0)) AS '语文',SUM(IF (t.subject = '数学',t.results,0)) as '数学',SUM(IF (t.subject = '英语',t.results,0)) as '英语'
FROMt_subject t
GROUP BY (t.name);
执行结果如下:
当时很好奇为什么需要加SUM函数进行求和,去掉之后执行SQL如下
初步分析如果不加此函数SQL执行默认只会对进行分组后的数据进行统计
SELECT*
FROMt_subject t
GROUP BY t.name;
-- ----------------------------
-- Table structure for `code_a`
-- ----------------------------
DROP TABLE IF EXISTS `code_a`;
CREATE TABLE `code_a` (`id` int(2) NOT NULL AUTO_INCREMENT,`time` date DEFAULT NULL,`code` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of code_a
-- ----------------------------
INSERT INTO `code_a` VALUES ('1', '2015-03-24', '胜');
INSERT INTO `code_a` VALUES ('2', '2015-03-24', '胜');
INSERT INTO `code_a` VALUES ('3', '2015-03-24', '负');
INSERT INTO `code_a` VALUES ('4', '2015-03-23', '胜');
INSERT INTO `code_a` VALUES ('5', '2015-03-23', '负');
INSERT INTO `code_a` VALUES ('6', '2015-03-26', '负');
SELECTt.time ,SUM(IF (t.code = '胜',1,0)) AS '胜',SUM(IF (t.code = '负',1,0)) as '负'
FROMcode_a t
GROUP BY (t.time);
转载于:https://my.oschina.net/luckyi/blog/270944
MYSQL 横向展示数据相关推荐
- oracle or使用速度快马_使用mysqld_exporter监控MySQL并展示数据
mysqld_exporter是Prometheus用于监控MySQL指标的一个导出器,支持对MySQL 5.5以上进行监控.用来抓取mysql的相关信息,下面是mysqld_exporter 安装的 ...
- mysql 分组统计 及 统计结果横向展示
文章目录 范围分组 需求说明 示例 sum 与 case when组合 类别值分组 需求说明 示例 group by . sum 与 case when组合 本文主要介绍mysql常用的两种分组情况: ...
- mysql横向纵向_mysql怎么更改纵向变横向排列
本篇文章将介绍如何使用sql语句将表数据从纵向展示改为横向展示. mysql中,查询纵向转横向可用case when语句,具体步骤如下: 第一步,创建数据表,我这里已创建完成,以下是展示数据图. 第二 ...
- Linux从mysql中读取数据_linux shell中读写操作mysql数据库
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...
- 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示: 步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
- 数据创造价值_展示数据并创造价值
数据创造价值 To create the maximum value, urgency, and leverage in a data partnership, you must present th ...
- mysql存储过程更新数据后返回一个字段_史上最全存储引擎、索引使用及SQL优化的实践...
整个MySQL Server由以下组成 : Connection Pool :连接池组件 Management Services & Utilities :管理服务和工具组件 SQL Inte ...
- recycleview横向展开_android 横向recyclerView 数据居中,从中间往两边展开显示
android 横向recyclerView 数据居中,从中间往两边展开显示 很多人的recyclerView都是自定义过后的recyclerView,所以我这里就不展示recyclerView了 横 ...
- 分布式日志sleuth+分布式追踪系统zipkin+消息中间件rabbitMQ+MySQL存储跟踪数据
一.了解分布式架构下系统的监控问题 接口监控问题 监测性能瓶颈 解决方案:Sleuth 日志监控问题 日志分散 解决方案:ELK+Kafka 二.使用Sleuth实现大觅网微服务跟踪 1.打开一个分布 ...
最新文章
- Androidi性能优化之多线程和同步
- ajax请求文件下载 php,使用Ajax请求下载文件
- WebSocket FlashSocket
- 理解 JavaScript 闭包
- 日志分析系统分类有哪些_什么是网站日志分析需要分析哪些内容
- lassAtitit事件代理机制原理 基于css class的事件代理的事件代理titi
- 计算机软件师倾斜怎么能摆正,ps中怎么把倾斜图案拉直
- .click()与on('click',function())
- 在合并单元格中数组公式无效_Excel|普通公式无法有效解决问题时使用数组公式...
- kab12.dll 病毒的分析
- VA液晶屏底色发白是什么原因?
- 仿小米视频下滑视频动画效果
- Javascript的mouseover和mouseenter的区别
- 范畴(Category)
- cocos2d 高仿doodle jump 无源代码
- 微信公众平台为什么会火
- onvif 视频28181 1400 区别
- htc viveVR、SteamVR 如何实现看krpano制作的全景
- PDF页面大小方向调整
- 精读大话数据结构,陪你拿下45分 EP2
热门文章
- tomcat配置报错解决方法 The jre_home environment variable is not defined correctly
- 【部署问题】解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid“ failed(2:No such file or directory)
- 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?
- win11桌面图标模糊怎么办 windows11桌面图标模糊的解决方法
- bootstrap table 光标_第三章之Bootstrap 表格与按钮功能
- 全向轮机器人运动模型及应用分析
- linux共享内存 dest,关于linux 共享内存查看已经完整释放
- 胡伟武计算机体系结构2版pdf_最新重大版重庆高中英语必修模块1/2/3/4课文听力单词录音MP3音频+电子课本PDF+课件+教案+试题...
- ubantu实现linux命令的实验_linux 基础知识
- snmpset对象不可写_别再问了,好吗?Java字符串一定是不可变的