码迷,mamicode.com
首页 > 数据库 > 详细

sql查询‘

时间:2018-07-20 01:09:52      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:float   values   1.2   分享图片   col   uri   center   value   margin   

如何把mysql的列修改成行显示数据简单实现

 

技术分享图片

创建测试表:

   2: CREATE TABLE `test` (
   4:   `month` int(11) DEFAULT NULL,
   6: ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据:

   2: INSERT INTO `test` VALUES (‘1991‘, ‘2‘, ‘1.2‘);
   4: INSERT INTO `test` VALUES (‘1991‘, ‘4‘, ‘1.4‘);
   6: INSERT INTO `test` VALUES (‘1992‘, ‘2‘, ‘2.2‘);
   8: INSERT INTO `test` VALUES (‘1992‘, ‘4‘, ‘2.3‘);

 

看到题目要求,仔细想想可以:

利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total_num

实现
SQL代码块如下:

   2:     sum(if(month=1,amount,0)) as "M1",
   4:     sum(if(month=3,amount,0)) as "M3",
   6: from test
   7: GROUP by year;

效果如下:

技术分享图片

sql查询‘

标签:float   values   1.2   分享图片   col   uri   center   value   margin   

原文地址:https://www.cnblogs.com/Lxiaoxiang/p/9339132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!