`
lqb1200
  • 浏览: 10417 次
  • 性别: 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 ;


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

相关推荐

    SQL数据库在气象信息共享系统中的应用.pdf

    使用SQL Server数据库,可以为每种气象要素每年建立一个数据表,通过对时间字段的优化,将每小时不同时间点的要素信息集中记录在同一条记录中,从而减少单表记录的数据量,简化数据统计过程。为了进一步提升查询效率...

    基于C#和SQL实现个人收支信息管理系统源码

    4. 统计分析:系统提供图表展示功能,如饼图、柱状图等,以便用户直观地了解每月、每年的收入与支出比例,进行消费习惯分析。 5. 预算管理:用户可以设定月度或年度预算,系统会实时对比实际收支与预算,提醒用户...

    每年第一天为第一周的周次算法

    标题中的“每年第一天为第一周的周次算法”是指一种计算一年中周次的方法,其中规定一年的首日(1月1日)被视为第一周的开始。这种算法在某些领域,如日期处理、日历应用或者数据分析中是常见的。下面我们将深入探讨...

    sql面试大全38题(基本包含所有知识点)

    统计每年入职员工的平均薪资、最高薪资及人数 **SQL代码**: ```sql select year(date_hired) as 入职年份, avg(salary) as 平均薪资, max(salary) as 最高薪资, count(emp_no) as 人数 from employee group by ...

    Oracle数据库按时间进行分组统计数据的方法

    这样可以查看每个月的销售或活动情况。 3. **按季度分组**: 若要按季度分组,可以使用`to_char()`函数与'yyyy-Q'格式: ```sql SELECT to_char(exportDate, 'yyyy-Q'), SUM(amount) FROM table1 GROUP BY to_char...

    sql课后题.docx

    这里假设每年工作12个月,如果存在奖金则将其计入全年收入。 ### 5. SQL*Plus 工具的使用 **知识点:** 如何使用SQL*Plus工具保存和执行SQL脚本。 **详细说明:** SQL*Plus 是Oracle提供的一个命令行工具,用于执行...

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

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

    毕业论文jsp21大学生个人理财系统(jsp+servlet+sqlserver).doc

    1. income statistics function:该功能能够帮助大学生统计和分析自己的收入情况,包括每月、每季和每年的收入统计。 2. query function:该功能能够帮助大学生查询自己的财务信息,包括收入、支出和余额等信息。 3....

    jsp第三方网站流量统计系统

    可能使用的是关系型数据库如MySQL或非关系型数据库如MongoDB,用来存储每日、每月和每年的访问记录。数据结构设计合理,便于高效查询和分析。 4. **数据分析**:统计系统需要对收集到的数据进行处理,包括数据清洗...

    vb+sql职工考勤管理系统职工考勤管理系统下载(论文+系统+开题报告).zip

    - **报表生成**:自动生成个人和团队的考勤报表,展示每月、每季度或每年的出勤状况。 - **数据分析**:提供统计分析功能,如平均出勤率、迟到次数等,以帮助企业评估员工工作表现。 4. **论文与开题报告**:在...

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

    在Oracle数据库中,有时我们需要统计特定时间段内的每一天的数据。这里我们将深入探讨如何使用SQL语句来实现这个目标,以及涉及到的一些关键函数和概念。 首先,我们来看如何生成一系列的随机数,这在模拟数据或者...

    程序员面试--选择题.pdf,这是一份不错的文件

    2. 子查询与嵌套查询:第45题展示了如何使用子查询来统计每年每月的信息。在答案一中,使用了多个嵌套子查询来分别获取每年每个月份的amount,而在答案二中,使用了GROUP_CONCAT函数来组合每个年份的所有月份的...

    气象站历史数据库统计分析.docx

    历史数据库中的各项数据,如国家自动站和区域自动站的每日、每旬、每月、每年数据,均源自CIMISS数据库,通过JavaScript语言调用MUSIC接口进行数据获取。 在服务器端,使用Microsoft SQL Server 2022建立了合理的...

    在sql Server自定义一个用户定义星期函数

    这个函数的目的是确定给定年份内每一周的开始日期和结束日期,因为每年的每周起始日并不固定。 原函数名为`dbo.udf_Week`,它接受两个参数:`@StartYear`和`@EndYear`,分别代表要查询的起始年份和结束年份。函数...

    基于ASP的塑料卡板销售统计管理系统 v1.0.zip

    3. 数据分析:系统可能具备数据分析功能,例如统计每日、每月或每年的销售额,计算总利润,或者追踪特定产品的销售趋势。 4. 报告生成:ASP可以动态生成HTML页面或PDF文档,展示销售报告,便于管理层了解业务状况。 ...

    C#课程设计 理财管理信息系统 源码

    6. 预算管理:用户可以设定每月、每季度或每年的预算,系统会实时对比实际收支,提醒用户预算情况。这需要C#与数据库的交互以及条件判断逻辑。 7. 数据备份与恢复:为了保障数据安全,系统应提供定期备份和手动备份...

    基于PowerBuilder技术的水费管理信息系统设计与实现.

    - **数据统计**:采用图表形式展示各户或各栋楼每月、每季度、每年的水费和用水量统计数据。 - **数据备份与恢复**:提供对数据库中的数据进行备份和恢复的功能。 - **水费通知单生成与打印**:支持生成水费通知单并...

    JSP药品销售数据管理系统的设计与实现.doc

    收集和处理销售订单,统计每日、每月、每年的销售数据,提供报表功能,便于财务结算和业务分析。 2.5 终端信息管理 管理与公司合作的药店、医院等终端客户信息,包括联系方式、进货需求等,以便进行针对性的销售和...

    java图书管理系统-可行性分析.pdf

    4. 多种图表统计,可统计每年,每月,每日的图书借出和借入情况统计。 5. 多种排行统计等。 这个报告对 JAVA 图书管理系统的可行性进行了分析和研究,提出了新的系统方案,并对现有的图书馆管理系统进行了分析,...

Global site tag (gtag.js) - Google Analytics