创建测试表:

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必知必会读书笔记第三章之显示数据库

jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解

mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现相关推荐

  1. mysql数据库子查询的使用_MySQL数据库使用子查询方式更新数据优化及思考

    [环境介绍] 云数据库MySQL 5.7 [背景描述] 业务需要:需要对16370077的表数据进行更新部分数据操作 UPDATE P_MOXXXX_REXXXX SET FISAVAILABLE = ...

  2. mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本

    今天有一个需求,立了一个新项目,新项目初步定了使用了现有的框架,但数据库要求由原来的mysql改成oracle,所以原来的基础版本的数据库脚本就需要修改成符合oracle的脚本,修改完成后,总结了一下 ...

  3. mysql时间戳在某天内_mysql根据时间戳查询指定日期内数据

    MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供您参考,希望对您能有所启迪. MySql的时间字段有date.time.datetime.timestamp等,往 ...

  4. mysql 查看当前数据库编码方式_MySQL查看与修改当前数据库编码的方法

    MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码. 查看当前数据库编码的SQL语句为: mysql> use xxx Datab ...

  5. mysql查看数据库事务隔离级别_MySQL查看和修改事务隔离级别的实例讲解

    查看事务隔离级别 在 MySQL 中,可以通过show variables like '%tx_isolation%'或select @@tx_isolation;语句来查看当前事务隔离级别. 查看当 ...

  6. mysql添加字段基本语法格式_MySQL添加字段 修改字段 删除字段-Mysql常用命令-吾爱编程网...

    作为程序员mysql的操作是必须要学会的,有时候我们需要使用命令行对数据表进行操作,接下来吾爱编程就为大家介绍一下MySQL 添加字段.修改字段.删除字段等常用命令,有需要的小伙伴可以参考一下: 1. ...

  7. mysql删除表后清空索引_MySQL删除语句比较,清空表数据,重置自增长索引

    drop truncate delete 程度从强到弱 1.drop table tb drop将表格直接删除,没有办法找回 2.truncate (table) tb truncate 删除表中的所 ...

  8. mysql 字段内部转行_mysql 列转行、列转行的有关问题_mysql

    mysql 列转行.列转行的问题 今天在逛大java吧的时候看到一个行转列.列转行的问题,看了之后还真的不知道怎么下手,可能平时用hibernate作为持久层用多了,sql语句也不会写了,赶紧去找度娘 ...

  9. mysql自定义序号_MySQL数据库之在mysql中给查询的结果添加序号列

    本文主要向大家介绍了MySQL数据库之在mysql中给查询的结果添加序号列 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一:第一种: select   (@i:=@i+1)  ...

最新文章

  1. 【Java Web开发指南】ELJSTL笔记
  2. OpenKruise v1.1:功能增强与上游对齐,大规模场景性能优化
  3. 查看网关物理地址命令
  4. winform响应时间最长是多少分钟_了解这个,你的爬升勋章分分钟手到擒来!
  5. 盖茨发文谈如何实现零碳目标 称看好电动车未来
  6. 如何计算给定一个unigram语言模型_n-gram语言模型原理到实践
  7. 【报错笔记】做struts项目建立jsp文件老是报错
  8. 依据地图上的经纬度坐标计算某个点到多边形各边的距离
  9. tensorflow切换到gpu_使用免费的GPU进行深度学习
  10. 华为手机下拉菜单没了_这才是华为正确的截图方式!别不当回事,白白浪费这么强大的手机...
  11. 谷歌AI为达目的,把自己的身体改造成了这样……
  12. matlab中uigetfile函数使用方法 (选择文件提示框)
  13. 身份证实名认证API接口
  14. 计算机配件地区限制,原来电脑配件包含这么多信息,不懂可以看看!以后再也不怕被坑...
  15. 微信-软件 报警信息
  16. linux安装OceanBase数据库
  17. Echarts -盒须图的使用说明
  18. 巯基吡啶PEG巯基吡啶,OPSS-PEG-OPSS
  19. 编程语言排行榜2020年3月 TIOBE编程语言排行榜2020年最新版
  20. 你知道吗?JS代码混淆加密,很有用!

热门文章

  1. Python学习-03(集合,文件,编码)
  2. DHT(Distributed Hash Table,分布式哈希表)
  3. 苹果自己设计芯片,但是还是绕不过高通
  4. 持续集成工具FinalBuilder使用心得
  5. [转]C# WInForm 无框窗体移动
  6. 介绍我的一位同事的开源RSS阅读器
  7. 树莓派 zero linux,树莓派 zero基本调试
  8. 1854. 人口最多的年份
  9. leetcode 455. 分发饼干(贪心算法)
  10. leetcode 49. 字母异位词分组(排序+hash)