首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 统计年年每月的信息

2013-08-09 
sql 统计每年每月的信息最近在做项目时遇到要将年月信息按如下格式输出:year month amount 1991 11.1 1991

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 ;


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

热点排行