`

oracle按时间分组统计

    博客分类:
  • sql
 
阅读更多
多看别人设计好的代码,包括教材上的例题程序,在读懂别人的代码之后,想想为何人家这样设计?能不能在现有的程序上改动增加更多的功能?在学习他人的优秀之处时同时提高自己的水平。为了更好的帮助大家考试,考试百科为您提供了关于Oracle认证专题:Oracle按时间分组统计的sql,具体内容如下:

  如下表table1:

  日期(exportDate)               数量(amount)

  --------------                    -----------

  14-2月 -08                       20

  10-3月 -08                       2

  14-4月 -08                       6

  14-6月 -08                       75

  24-10月-09                      23

  14-11月-09                      45

  04-8月 -10                       5

  04-9月 -10                       44

  04-10月-10                      88

  注意:为了显示更直观,如下查询已皆按相应分组排序

  1.按年份分组

  select to_char(exportDate,'yyyy'),sum(amount) from table1 group by to_char(exportDate,'yyyy');

  年份      数量

  -----------------------------

  2009    68

  2010    137

  2008    103

  2.按月份分组

  select to_char(exportDate,'yyyy-mm'),sum(amount) from table1 group by to_char(exportDate,'yyyy-mm')

  order by to_char(exportDate,'yyyy-mm');

  月份           数量

  -----------------------------

  2008-02    20

  2008-03    2

  2008-04    6

  2008-06    75

  2009-10    23

  2009-11    45

  2010-08    5

  2010-09    44

  2010-10    88

  3.按季度分组

  select to_char(exportDate,'yyyy-Q'),sum(amount) from table1 group by to_char(exportDate,'yyyy-Q')

  order by to_char(ex(更多考试资讯尽在http://www.kaoshibaike.com/)portDate,'yyyy-Q');

  季度          数量

  ------------------------------

  2008-1    22

  2008-2    81

  2009-4    68

  2010-3    49

  2010-4    88

  4.按周分组

  select to_char(exportDate,'yyyy-IW'),sum(amount) from table1 group by to_char(exportDate,'yyyy-IW')

  order by to_char(exportDate,'yyyy-IW');

  周             数量

  ------------------------------

  2008-07    20

  2008-11    2

  2008-16    6

  2008-24    75

  2009-43    23

  2009-46    45

  2010-31    5

  2010-35    44

  2010-40    88

  补充:

  按季度分组还有个比较笨的方法(参考网络资源)

  select  to_char(exportDate,'yyyy'),

  sum(decode(to_char(exportDate,'mm'),'01',amount,'02',amount,'03',amount,0)) as 第一季,

  sum(decode(to_char(exportDate,'mm'),'04',amount,'05',amount,'06',amount,0)) as 第二季,

  sum(decode(to_char(exportDate,'mm'),'07',amount,'08',amount,'09',amount,0)) as 第三季,

  sum(decode(to_char(exportDate,'mm'),'10',amount,'11',amount,'12',amount,0)) as 第四季

  from table1

  group by to_char(exportDate,'yyyy');

  年份        第一季     第二季     第三季     第四季

  --------------------------------------------------

  2009         0            0            0          68

  2010         0            0            49        88

  2008         22          81          0          0

以上就是由考试百科为大家提供的关于Oracle认证专题:Oracle按时间分组统计的sql的所有内容,关注考试、关注考试百科。

本文转载自考试百科资讯(http://pc.kaoshibaike.com/ora/zthz/201107/460337.html)转载请标明出处。
分享到:
评论

相关推荐

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

    在本示例中,我们关注的是如何利用SQL查询按时间进行分组统计数据。以下将详细介绍几种常见的分组方法及其应用。 1. **按年份分组**: 使用`to_char()`函数将日期字段转换为年份格式,并结合`GROUP BY`子句进行分组...

    oracle分组函数

    在实际业务场景中,我们经常需要对大量的数据进行统计分析,例如计算某个部门的员工总数、计算某个时间段内的销售额等。这些需求通常需要对数据进行分组后进行统计,这就需要用到分组函数。例如: - **查询所有员工...

    oracle时间函数

    Oracle时间函数是数据库管理中非常关键的一部分,特别是在处理与日期和时间相关的数据时。在Oracle数据库中,时间函数允许我们进行各种操作,如获取当前日期和时间、计算日期之间的差异、调整日期以及按特定周期对...

    jimu_report-oracle.zip

    5. 数据分析:除了基础的查询和展示,积木报表还支持对Oracle数据库中的数据进行深度分析,如计算指标、过滤条件、分组统计等。此外,还提供了图表组件,将数据以图形化形式展现,便于用户直观理解数据趋势和模式。 ...

    ORACLE多条件统计查询的简单方法

    在具体的应用中,例如统计市级律师服务的已结案、办理中和案件总数,`CASE`语句被用来检查区县代码、委托时间以及申请状态代码,以此来区分不同的状态。同时,通过`SUBSTR`函数处理业务字段,获取行政区域和业务模块...

    Oracle SQL(SQL for Oracle)

    3. **SELECT查询**:Oracle SQL的查询语法丰富,可以使用WHERE子句进行条件过滤,GROUP BY和HAVING子句进行分组统计,ORDER BY子句进行排序,以及JOIN操作连接多个表。 4. **视图**:视图是虚拟表,基于一个或多个...

    Oracle Press - Oracle Database 11g SQL

    7. **分组与聚合函数**:介绍GROUP BY、HAVING和聚合函数(如COUNT、SUM、AVG、MAX、MIN)的应用,用于统计和分析数据。 8. **窗口函数**:探讨ROW_NUMBER、RANK、DENSE_RANK、LEAD、LAG等窗口函数的使用,用于行级...

    oracle上机任务答案使用教程

    这些示例展示了如何利用Oracle SQL进行复杂的数据聚合和分组,以及如何处理日期和时间字段以满足特定的统计需求。开发者可以通过修改这些基础模板,适应其他类似的数据分析任务。此外,了解如何有效利用子查询、聚合...

    sql计算班组func.zip_oracle_sql_某个时间班组

    综上所述,解决“sql计算某个时间为甲乙丙丁中的哪一个班组”的问题,关键在于理解并运用Oracle SQL的日期函数、时间比较、CASE语句以及可能的分组统计。具体实现应根据实际的班组划分规则和数据表结构进行调整。在...

    Oracle数据库课堂笔记

    可以使用WHERE子句进行筛选,ORDER BY子句进行排序,以及GROUP BY和HAVING子句进行分组统计。联接(JOIN)操作则允许从多个表中合并数据。 第五讲:复杂查询 复杂的查询涉及子查询、联接和集合运算。子查询可以在...

    张烈-Oracle数据库讲义

    - **分组统计**:使用GROUP BY子句结合聚合函数(如COUNT, SUM等)进行分组统计。 - **连接查询**:包括INNER JOIN、LEFT JOIN、RIGHT JOIN等多种类型的连接方式。 - **子查询**:在一个查询语句中嵌套另一个查询...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    在Oracle 9i中,时间间隔类型(INTERVAL)用于存储时间间隔,如年、月、日、小时等。可以通过ALTER TABLE语句添加新的间隔列,并设置相应的精度。 4. **配置Oracle监听器**: 监听器(Listener)负责接收客户端的...

    Oracle 11g数据库应用简明教程

    3. 数据类型:Oracle支持多种数据类型,包括数值类型(如NUMBER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)以及二进制数据类型(如BLOB)等。 二、SQL语言 1. DDL(Data Definition Language):...

    2011MLDN李兴华Oracle课堂笔记PDF档

    4. **03-习题讲解1及多表查询、分组统计、数据更新.pdf**:这部分涉及更复杂的SQL操作,如联接查询、子查询,以及GROUP BY和HAVING子句用于数据的分组统计。同时,还包括了如何在Oracle中进行数据的插入、更新和删除...

    Oracle Reports培训教程

    6. **分组与汇总**:学会如何根据特定字段进行数据分组,并应用汇总函数(如SUM、AVG、COUNT等)进行数据统计,是创建复杂报告的基础。 7. **报表格式化**:报告的外观同样重要。掌握如何设置字体、颜色、边框、...

    ORACLE查询优化

    2. **统计信息**:保持统计信息的准确和最新,以帮助Oracle做出更好的执行计划选择。 3. **PGA与SGA**:根据工作负载调整内存分配,优化数据处理。 五、其他优化策略 1. **数据库设计优化**:规范化和反规范化设计...

    oracle日常函数文档

    在处理日期和时间数据时,Oracle提供了诸如`SYSDATE`, `ADD_MONTHS()`, `MONTHS_BETWEEN()`, `EXTRACT()`, `TO_DATE()`, `TO_CHAR()`等函数。`SYSDATE`返回当前系统日期,`ADD_MONTHS()`可以添加或减去指定月份数,`...

Global site tag (gtag.js) - Google Analytics