Mysql的列修改成行并显示数据的简单实现

 更新时间:2016年10月24日 10:14:24   作者:HRuinger  
这篇文章主要介绍了Mysql的列修改成行并显示数据的简单实现,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下

创建测试表:

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的列修改成行并显示数据的简单实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • mysql 5.7.21解压版本安装 Navicat数据库操作工具安装

    mysql 5.7.21解压版本安装 Navicat数据库操作工具安装

    这篇文章主要为大家详细介绍了mysql 5.7.21解压版本安装,Navicat数据库操作工具安装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • mysql installer community 5.7.16安装详细教程

    mysql installer community 5.7.16安装详细教程

    这篇文章主要为大家介绍了mysql installer community 5.7.16安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • mysql数据库查询优化 mysql效率

    mysql数据库查询优化 mysql效率

    MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试. 1. 使用statement进行绑定查询 2. 随机的获取记录 3. 使用连接池管理连接.
    2008-01-01
  • MySQL 5.7安装后默认登录密码的查看方法

    MySQL 5.7安装后默认登录密码的查看方法

    许多朋友安装MySQL 5.7之后不知道默认登录密码在哪里查看,本文小编将通过代码示例和图文结合的方式给大家介绍MySQL 5.7安装后默认登录密码的查看方法,需要的朋友可以参考下
    2023-12-12
  • MySQL分页技术、6种分页方法总结

    MySQL分页技术、6种分页方法总结

    这篇文章主要介绍了MySQL分页技术、6种分页方法总结,本文总结了6种分页的方法并分别一一讲解它们的特点,需要的朋友可以参考下
    2015-07-07
  • MySQL group by对单字分组序和多字段分组的方法讲解

    MySQL group by对单字分组序和多字段分组的方法讲解

    今天小编就为大家分享一篇关于MySQL group by对单字分组序和多字段分组的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 批量 kill mysql 中运行时间长的sql

    批量 kill mysql 中运行时间长的sql

    这篇文章主要介绍了批量 kill mysql 中运行时间长的sql,需要的朋友可以参考下
    2016-01-01
  • mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法分析

    mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法分析

    这篇文章主要介绍了mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法,结合实例形式分析了mysql存储过程循环语句WHILE,REPEAT和LOOP的原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • mysql仿oracle的decode效果查询

    mysql仿oracle的decode效果查询

    今天遇到群里发的一个问题,觉得有点意思,发上来看一下
    2011-04-04
  • Mysql存储过程如何实现历史数据迁移

    Mysql存储过程如何实现历史数据迁移

    这篇文章主要介绍了Mysql存储过程如何实现历史数据迁移,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论