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 也就是两天的时间间隔分组查询
分享到:
相关推荐
Oracle数据库提供了一种强大的数据分组和统计功能,这在处理时间序列数据时尤其有用。在本示例中,我们关注的是如何利用SQL查询...在实际工作中,根据具体需求,可以组合使用这些方法,以实现更复杂的时间段分组统计。
在实际业务场景中,我们经常需要对大量的数据进行统计分析,例如计算某个部门的员工总数、计算某个时间段内的销售额等。这些需求通常需要对数据进行分组后进行统计,这就需要用到分组函数。例如: - **查询所有员工...
在Oracle数据库中,查询特定时间段内的数据是一项常见的任务,尤其当需要细化到具体的日期、星期以及一天中的某个时段时。本文将重点解析标题和描述中给出的SQL代码,并讲解如何根据给定条件筛选数据。 首先,让...
这些统计信息通常包括执行次数、平均执行时间、等待时间等。通过这些信息,可以确定哪些SQL语句需要优化。 - **SQL Monitor**: SQL Monitor提供了一个详尽的报告,包括执行计划、等待事件等信息,这对于诊断性能...
可以使用WHERE子句进行筛选,ORDER BY子句进行排序,以及GROUP BY和HAVING子句进行分组统计。联接(JOIN)操作则允许从多个表中合并数据。 第五讲:复杂查询 复杂的查询涉及子查询、联接和集合运算。子查询可以在...
- **分组统计**:使用GROUP BY子句结合聚合函数(如COUNT, SUM等)进行分组统计。 - **连接查询**:包括INNER JOIN、LEFT JOIN、RIGHT JOIN等多种类型的连接方式。 - **子查询**:在一个查询语句中嵌套另一个查询...
在具体的应用中,例如统计市级律师服务的已结案、办理中和案件总数,`CASE`语句被用来检查区县代码、委托时间以及申请状态代码,以此来区分不同的状态。同时,通过`SUBSTR`函数处理业务字段,获取行政区域和业务模块...
1. Oracle的逻辑存储结构主要包括表空间(Tablespaces)、数据块(Data Blocks)、区(Extents)和段(Segments)。表空间是数据库中最大的逻辑存储单元,可以包含多个段。段是逻辑存储的单位,由一个或多个区组成,...
接下来,教程会详细介绍Oracle的数据类型,包括常用的数值类型、字符类型和日期时间类型,以及它们在数据库中的应用。 对于数据库架构师和管理员来说,理解Oracle体系结构(DBA)是管理大型数据库系统的基础。在此...
- **GROUP BY子句**:结合分组函数使用,按指定列分组并计算汇总值。 #### 七、多表查询 - **JOIN操作**:讲解INNER JOIN、LEFT JOIN、RIGHT JOIN等连接类型及其应用场景。 - **自连接**:介绍如何在一个表中进行...
了解如何使用WHERE子句进行条件筛选,GROUP BY和HAVING子句进行分组统计,以及JOIN操作进行表间连接。 3. **PL/SQL编程**:学习Oracle的内置编程语言PL/SQL,包括变量声明、流程控制结构(如IF-THEN-ELSE, LOOP, ...
3. **日期类型函数**:如SYSDATE, ADD_MONTHS()等,用于处理日期时间数据。 **1.7 嵌套函数** - **通用函数**:如NVL(), NVL2()等,用于根据条件处理数据。 - **条件表达式**:如DECODE(), CASE WHEN THEN ELSE ...
4. **时间区间处理**: 如果班组的划分不是基于连续的时间段,而是基于固定的时间点,例如班组甲乙丙丁分别对应周一至周四、周五和周末,我们可以用`TO_CHAR`函数转换日期为星期几,然后进行匹配。 ```sql SELECT ...
哈希聚合则用于计算分组统计数据。这个脚本可能帮助分析哈希操作的性能瓶颈。 5. **缓冲区列表**:06_06_bufflist.sql 可能是用于查看和分析数据库缓冲区行为的SQL脚本。通过监控缓冲区的使用,我们可以了解数据...
- 例如,在分析员工的业绩时,如果需要比较不同时间段内同一个员工的表现,可以采用这种方式。 #### 2. 创建表与数据过滤条件 题目中给出了一段代码,创建了一个名为`empinfo`的表,并给出了几种不同的筛选条件: ...