`
lqb1200
  • 浏览: 10120 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

sql 统计每年每月的信息

 
阅读更多
最近在做项目时遇到要将年月信息按如下格式输出:
year month amount
1991 1     1.1
1991 2     1.2
1991 3     1.3
1991 4     1.4
1992 1     2.1
1992 2     2.2
1992 3     2.3
1992 4     2.4
查成这样一个结果
year m1  m2  m3  m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
(此例子也适用于工资条)
笔者最初是将表中数据按表结构全部查出,然后在方法中根据想要的结果进行装载,虽然java在内存中运行飞快,但是肯定不如直接在DB中查询出结果小效率高,而且有做重复工作的嫌疑,后来无意中发现了,sql可直接运行处结果,使之效率提升不少,sql代码:
select sales.year , 
(select t.amount from sales t where t.month='1' and t.year= sales.year) 'm1', 
(select t.amount from sales t where t.month='2' and t.year= sales.year) 'm2', 
(select t.amount from sales t where t.month='3' and t.year= sales.year) 'm3', 
(select t.amount from sales t where t.month='4' and t.year= sales.year) 'm4' 
from sales group by sales.year ;


此小技巧与大家分享,如果错误,请各位大神指教~!
分享到:
评论

相关推荐

    SQL2000 统计每周,每月,每季,每年的数据

    实例介绍按照每周,每月,每季,每年如何统计数据

    SQL练习题和答案(难度★★★☆☆)

    2、查询客户表,按年份统计,每年、每个机构开户数占全年开户数的占比 展示字段:年份、机构号、开户数、开户占比百分比(百分比) 3、统计所有客户的客户号、存款账户数、2011.12.31日的存款余额、2011.12存款月...

    oracle统计时间段内每一天的数据(推荐)

    下面给大家介绍oracle统计时间段内每一天的数据,具体sql语句如下所示: 1. 生成1000个随机数 SELECT ROWNUM RN, DBMS_RANDOM.VALUE(0, 1000) RANDOM FROM DUAL CONNECT BY ROWNUM <= 1000; 注:DBMS_RANDOM....

    swing 酒店管理系统源码

    洒店管理系统使用说明书 配置源程序 ...(7)单击“月结账”按钮,对每月的账单进行查询操作。 (8)单击“年结账”按钮,对每年的账单进行查询操作。 (9)单击“退出系统”按钮,退出当前操作系统。

    酒店管理系统

    此程序是用java编的,主要目的是为了快速无误实现“餐桌点菜”。使用了java的swing技术,数据库是用sql server2000,开发...方便了小型餐饮行业的:顾客点菜,收银结账,增删菜品,统计收入(每月,每天,每年)等等。

    oracle 日期时间函数使用总结

    经常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 例如: 财务软件或者人力资源软件需要按照每年, 每季度, 每月, 甚至每个星期来进行统计

    数据库课程设计-飞机订票系统.doc

    5、 统计每周、每月,每年营业收入情况。 2.2 ER模型图 Er模型图 第三章 数据库逻辑设计 3.1 定义数据库表 数据库表 1,flight表 "字段名 "数据类型 "含义说明 "控制情况 " "startplace "Varchar2 "起点 "不为空 " ...

    基于Net7+Angular4开发的一套零售快消POS进销存管理系统源码+项目说明.zip

    您可以在系统中设置定期的每日、每周、每月、季度、半年、每年或特定日期提醒,以获取通知或电子邮件。 :star: **支持多种语言:** 默认情况下,应用程序提供英语、中文您可以在几分钟内添加一种新语言。 :star: *...

    财务软件调研报告.doc

    (6) 公司的账目会很清楚,月底只要打印每个客户的月结单,就可以跟客户对账、收账,哪 些账快到期、哪些账已过期一目了然。 (7) 如果公司刚接了一个定单,可以根据定单成批地查一下哪些货已经有、还缺哪些货,...

    Java面试宝典2010版

    11.统计每年每月的信息 12.显示文章标题,发帖人、最后回复时间 13.删除除了id号不同,其他都相同的学生冗余信息 14.航空网的几个航班查询题: 15.查出比经理薪水还高的员工信息: 16、求出小于45岁的各个老师所...

    最新Java面试宝典pdf版

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

    Java面试笔试资料大全

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

    JAVA面试宝典2010

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

    Java面试宝典-经典

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

    java面试题大全(2012版)

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

    Java面试宝典2012版

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出...

    java面试宝典2012

    11.统计每年每月的信息 111 12.显示文章标题,发帖人、最后回复时间 112 13.删除除了id号不同,其他都相同的学生冗余信息 113 14.航空网的几个航班查询题: 114 15.查出比经理薪水还高的员工信息: 115 16、求出小于...

    Java面试宝典2012新版

    11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除除了id号不同,其他都相同的学生冗余信息 104 14.航空网的几个航班查询题: 104 15.查出比经理薪水还高的员工信息: 105 16、求出小于...

Global site tag (gtag.js) - Google Analytics