`
领悟人生
  • 浏览: 85002 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle 按时间段分组统计

阅读更多
create table T_DEMO
(
  SATISVACTION_ID VARCHAR2(10) not null,
  TEL_NUM         VARCHAR2(20) not null,
  SATISFY_DEGREE  VARCHAR2(15),
  INSERT_TIME     DATE,
  STAFF_ID        VARCHAR2(10)
)

想要按时间段分组查询,首先要了解level,connect by,oracle时间的加减.
关于level这里不多说,我只写出一个查询语句:
  ---level 是一个伪例
  select level from dual connect by level <=10
  ---结果:1	
	2
	3
	4
	5
	6
	7
	8
	9
	10

关于connect by可以看
http://www.cnblogs.com/johnnyking39/articles/1155497.html
oracle时间的加减看看试一下以下sql语句就会知道:
select sysdate -1 from dual
----结果减一天,也就24小时
select sysdate-(1/2) from dual
-----结果减去半天,也就12小时
select sysdate-(1/24) from dual
-----结果减去1 小时
select sysdate-((1/24)/12) from dual 
----结果减去5分钟
select sydate-(level-1) from dual connect by level<=10
---结果是10间隔1天的时间


下面是本次例子:
select dt, count(satisfy_degree) as num from T_DEMO  i ,
(select sysdate - (level-1) * 2 dt
from dual connect by level <= 10) d
where i.satisfy_degree='satisfy_1' and
i.insert_time<dt and i.insert_time> d.dt-2
group by d.dt  

例子中的sysdate - (level-1) * 2得到的是一个间隔是2天的时间
group by d.dt  也就是两天的时间间隔分组查询
1
0
分享到:
评论

相关推荐

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

    Oracle数据库提供了一种强大的数据分组和统计功能,这在处理时间序列数据时尤其有用。在本示例中,我们关注的是如何利用SQL查询...在实际工作中,根据具体需求,可以组合使用这些方法,以实现更复杂的时间段分组统计。

    oracle分组函数

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

    oracle 取某个时间段的数据(每周几的上午几点到几点)

    在Oracle数据库中,查询特定时间段内的数据是一项常见的任务,尤其当需要细化到具体的日期、星期以及一天中的某个时段时。本文将重点解析标题和描述中给出的SQL代码,并讲解如何根据给定条件筛选数据。 首先,让...

    Oracle数据库性能分析

    这些统计信息通常包括执行次数、平均执行时间、等待时间等。通过这些信息,可以确定哪些SQL语句需要优化。 - **SQL Monitor**: SQL Monitor提供了一个详尽的报告,包括执行计划、等待事件等信息,这对于诊断性能...

    Oracle数据库课堂笔记

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

    张烈-Oracle数据库讲义

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

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

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

    Oracle数据库课程大作业.pdf

    1. Oracle的逻辑存储结构主要包括表空间(Tablespaces)、数据块(Data Blocks)、区(Extents)和段(Segments)。表空间是数据库中最大的逻辑存储单元,可以包含多个段。段是逻辑存储的单位,由一个或多个区组成,...

    超详细Oracle教程

    接下来,教程会详细介绍Oracle的数据类型,包括常用的数值类型、字符类型和日期时间类型,以及它们在数据库中的应用。 对于数据库架构师和管理员来说,理解Oracle体系结构(DBA)是管理大型数据库系统的基础。在此...

    超详细Oracle教程.pdf

    - **GROUP BY子句**:结合分组函数使用,按指定列分组并计算汇总值。 #### 七、多表查询 - **JOIN操作**:讲解INNER JOIN、LEFT JOIN、RIGHT JOIN等连接类型及其应用场景。 - **自连接**:介绍如何在一个表中进行...

    精通Oracle10编程(从入门到精通).rar

    了解如何使用WHERE子句进行条件筛选,GROUP BY和HAVING子句进行分组统计,以及JOIN操作进行表间连接。 3. **PL/SQL编程**:学习Oracle的内置编程语言PL/SQL,包括变量声明、流程控制结构(如IF-THEN-ELSE, LOOP, ...

    oracle从入门到精通.pdf

    3. **日期类型函数**:如SYSDATE, ADD_MONTHS()等,用于处理日期时间数据。 **1.7 嵌套函数** - **通用函数**:如NVL(), NVL2()等,用于根据条件处理数据。 - **条件表达式**:如DECODE(), CASE WHEN THEN ELSE ...

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

    4. **时间区间处理**: 如果班组的划分不是基于连续的时间段,而是基于固定的时间点,例如班组甲乙丙丁分别对应周一至周四、周五和周末,我们可以用`TO_CHAR`函数转换日期为星期几,然后进行匹配。 ```sql SELECT ...

    Oracle SQL 优化与调优技术详解-随书脚本.zip

    哈希聚合则用于计算分组统计数据。这个脚本可能帮助分析哈希操作的性能瓶颈。 5. **缓冲区列表**:06_06_bufflist.sql 可能是用于查看和分析数据库缓冲区行为的SQL脚本。通过监控缓冲区的使用,我们可以了解数据...

    Oracle面试题及答案整理

    - 例如,在分析员工的业绩时,如果需要比较不同时间段内同一个员工的表现,可以采用这种方式。 #### 2. 创建表与数据过滤条件 题目中给出了一段代码,创建了一个名为`empinfo`的表,并给出了几种不同的筛选条件: ...

Global site tag (gtag.js) - Google Analytics