有一张表,数据如下

请写出结果为以下的SQL语句。

在mysql中创建表

CREATE TABLE `aa` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '书籍编号',
  `year` varchar(4) NOT NULL DEFAULT '' COMMENT '年',
  `month` varchar(2) NOT NULL DEFAULT '0' COMMENT '月份',
  `mount` double DEFAULT NULL COMMENT '数量',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据:

insert into aa(year,month,mount) values(2011,1,1.1),(2011,2,1.2),(2011,3,1.3),(2011,4,1.4);
insert into aa(year,month,mount) values(2012,1,2.1),(2012,2,2.2),(2012,3,2.3),(2012,4,2.4);
insert into aa(year,month,mount) values(2013,1,3.1),(2013,2,3.2),(2013,3,3.3),(2013,4,3.4);
insert into aa(year,month,mount) values(2014,1,4.1),(2014,2,4.2),(2014,3,4.3),(2014,4,4.4);

查询语句为:

select t2.year,(select t1.mount from aa t1 where t1.year = t2.year and t1.month = 1) m1,
(select t1.mount from aa t1 where t1.year = t2.year and t1.month = 2) m2,
(select t1.mount from aa t1 where t1.year = t2.year and t1.month = 3) m3,
(select t1.mount from aa t1 where t1.year = t2.year and t1.month = 4) m4 from
aa t2 group by t2.year order by t2.year;

完毕。

备注:简单的实现了一下,若您有更好的,若方便可以共享一下;若有什么错误,请指出,谢谢!

简单Sql语句统计每年每个月的数据,每个月为数据的每列,简单SQL练习的更多相关文章

  1. SQL语句统计每天、每月、每年的 数据

    SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...

  2. 【转】SQL语句统计每天、每月、每年的数据

    原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...

  3. SQL语句统计每天、每月、每年的数据

    1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...

  4. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  5. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  6. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  7. mysql进阶(十九)SQL语句如何精准查找某一时间段的数据

    SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm ...

  8. SQL语句往Oracle数据库中插入日期型数据(to_date的用法)

    Oracle 在操作数据库上相比于其他的 T-sql 有微小的差别,但是在插入时间类型的数据是必须要注意他的 to_date 方法,具体的情况如下: --SQL语句往Oracle数据库中插入日期型数据 ...

  9. sql语句 怎么从一张表中查询数据插入到另一张表中?

    sql语句 怎么从一张表中查询数据插入到另一张表中?  ----原文地址:http://www.phpfans.net/ask/MTc0MTQ4Mw.html 比如我有两张表 table1 字段 un ...

  10. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

随机推荐

  1. iOS开发——model类模板(过滤null和ID)

            说明:model类模板已默认过滤null值,附加特殊情况的关键字ID名的冲突(需手动去掉注释代码).MyMessageModel为示例的名字.可以自己随便起. 1.自己创建一个继承与N ...

  2. bzoj1018:[SHOI2008]堵塞的交通traffic

    思路:线段树好题,用线段树维护连通性. 区间[l,r]表示左端点为l,右端点为r,宽度为2的矩形,那么线段树区间维护的就是该区间内的四个角的连通情况,注意是该区间内的连通情况,也就是说只能通过该区间内 ...

  3. oracle的decimal和number的对比

    Oracle只是在语法上支持decimal类型,但是在底层实际上它就是number类型,支持decimal类型是为了能把数据从Oracle数据库移到其他数据库中(如DB2等). 因为decimal在O ...

  4. asp.net 后台 修改 javascript 变量

    Util.JSSetChange(Page, GetType()); public static void JSSetChange(Page page, Type cstype) { // Defin ...

  5. Android源代码编译——编译

    环境准备好了,代码下载完了,据说make一下就可以. 当然也可以配置一下环境变量: 编译初始化,在终端中执行: source build/envsetup.sh 选择编译目标,在终端中执行下面的命令: ...

  6. MYSQL 多表更新 UPDATE SET like concat('%',abc,'%');

    SQL语句为:select * from table1 where `text` like CONCAT('%',(select name from table2 where id =3),'%'); ...

  7. A3992学习记录

    ATmega64+A3992驱动步进电机 //ATmega 64a 电机驱动板程序//编译环境 AVR Studio 4.17/AVR GCC//系统外部时钟16M//作者:虞恺 //日期:2012. ...

  8. ubuntu中替代visio的软件 dia

    ubuntu 中 软件  dia 可以替代 ms-visio软件. 安装过程可以在线安装: sudo apt-get install dia

  9. PL/SQL数据导入导出浅谈(1)

    近来需要通过PL/SQL向Oracle中导数据,特此总结一下 试例表:test 字段:id;name;org; 1.直接复制粘贴(当数据量不是特别大的时候) 1)使用select * from tes ...

  10. 论Oracle字符集“转码”过程

    本文将通过实验来演示一下Oracle字符集“转码”的确认过程. 1.实验环境说明 客户端是Windows XP操作系统的SQL*Plus程序,客户端字符集是936(对应Oracle的ZHS16GBK字 ...