Mysql的列修改成行并显示数据的简单实现
作者:HRuinger 时间:2024-01-24 01:39:54
创建测试表:
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`year` int(11) DEFAULT NULL,
`month` int(11) DEFAULT NULL,
`amount` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `test` VALUES ('1991', '1', '1.1');
INSERT INTO `test` VALUES ('1991', '2', '1.2');
INSERT INTO `test` VALUES ('1991', '3', '1.3');
INSERT INTO `test` VALUES ('1991', '4', '1.4');
INSERT INTO `test` VALUES ('1992', '1', '2.1');
INSERT INTO `test` VALUES ('1992', '2', '2.2');
INSERT INTO `test` VALUES ('1992', '3', '2.3');
INSERT INTO `test` VALUES ('1992', '4', '2.3');
看到题目要求,仔细想想可以:
利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total_num
实现
SQL代码块如下:
select year,
sum(if(month=1,amount,0)) as "M1",
sum(if(month=2,amount,0)) as "M2",
sum(if(month=3,amount,0)) as "M3",
sum(if(month=4,amount,0)) as "M4"
from test
GROUP by year;
效果如下:
以上所述是小编给大家介绍的Mysql的列修改成行并显示数据的简单实现网站的支持!
来源:http://www.cnblogs.com/HRuinger/archive/2016/10/23/5989839.html
标签:mysql,显示数据
0
投稿
猜你喜欢
asp连接access数据库表代码实例
2008-04-13 06:18:00
python中reload(module)的用法示例详解
2021-01-31 10:49:11
CGO编程基础快速入门
2024-02-05 05:20:58
解析:以mysql_开始的未定义引用错误
2008-12-19 17:58:00
GO语言基础之数组
2024-03-11 21:44:03
MySql批量插入优化Sql执行效率实例详解
2024-01-18 07:52:06
Linux下安装SQLServer2019的方法
2024-01-17 16:14:29
Mongoose经常返回e11000 error的原因分析
2024-05-03 15:36:05
asp实现的查询某关键词在MSSQL数据库位置的代码
2011-02-28 11:18:00
CentOS7下python3.7.0安装教程
2023-09-26 21:42:56
GoLang中拼接字符串性能优化方法详解
2024-04-28 09:16:46
Python如何对文件进行重命名
2022-01-20 12:31:51
Python+Opencv实现数字识别的示例代码
2021-03-10 14:16:38
Python面向对象之静态属性、类方法与静态方法分析
2021-03-28 15:14:22
Go中时间与时区问题的深入讲解
2024-02-19 23:34:55
python解释器pycharm安装及环境变量配置教程图文详解
2021-10-13 22:50:44
如何基于js管理大文件上传及断点续传详析
2024-05-25 15:19:05
ASP 改良版MD5、SHA256多重加密类(二次及多次)
2012-11-30 20:26:47
Web开发技术发展史话
2011-04-25 19:16:00
python中的unittest框架实例详解
2023-01-27 06:13:41