欢迎来到站长天空!

其它数据库

当前位置: 主页 > 数据库 > 其它数据库

oracle日期分组查询的完整实例

时间:2025-12-31 06:00:23|栏目:其它数据库|点击:

前言

在做数据报表时,需要对某一时间段分组,以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:算出的分组依据

oracle日期分组查询的完整实例

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

在此基础上查询时间所属时间段

oracle日期分组查询的完整实例

以上通过 factor/24 含义为间隔一小时, 可以通过改变这两个值任意组合时间间隔。

总结

上一篇:MySQL 查看链接及杀掉异常链接的方法

栏    目:其它数据库

下一篇:MySQL InnoDB 锁的相关总结

本文标题:oracle日期分组查询的完整实例

本文地址:https://zz.feitang.co/shujuku/34738.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号