您现在的位置是:网站首页> 编程资料编程资料
oracle日期分组查询的完整实例_oracle_
2023-05-27
519人已围观
简介 oracle日期分组查询的完整实例_oracle_
前言
在做数据报表时,需要对某一时间段分组,以1小时为时间间隔统计各项数据,如9点-10点,10点-11点…,但是现在有种情况,时间有可能不是整点开始,会有半点的情况,9点30,需要按照9点30-10点30,10点30-11点30分组统计
实现
以时间范围起始时间作为参照时间,计算与其差值(分)/所需时间间隔(1小时)
得出值作为分组依据。
例子
select xx, floor( floor( (refDate-to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss')) * 24 * 60) / 60 ) factor where refDate >=to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss') and refDate <=.... floor:取整用
refDate:每条数据中的日期字段
2021-02-05 08:30:参照时间
factor:算出的分组依据

以上查询范围是21:30-23:30,以21.30作为参照时间,可将时间段划分为21.30-22:30,22:30-23:30。。
在此基础上查询时间所属时间段

以上通过 factor/24 含义为间隔一小时, 可以通过改变这两个值任意组合时间间隔。
总结
到此这篇关于oracle日期分组查询的文章就介绍到这了,更多相关oracle日期分组查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- Oracle 实现将查询结果保存到文本txt中_oracle_
- SQL查询包含下划线的字段内容操作_oracle_
- QT连接Oracle数据库并实现登录验证的操作步骤_oracle_
- Oracle 生成未来三天的整点时间(步骤详解)_oracle_
- 浅析Oracle体系结构_oracle_
- oracle 存储过程返回 结果集 table形式的案例_oracle_
- 解决PL/SQL修改Oracle存储过程编译就卡死的问题_oracle_
- oracle取数据库中最新的一条数据可能会遇到的bug(两种情况)_oracle_
- oracle索引的测试实例代码_oracle_
- inner join和left join之间的区别详解_oracle_
