加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 17:02:07 所属栏目:百科 来源:网络整理
导读:Oracle按不同时间分组统计的sql 如下表table1: 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 2.按月份分组 3.按季度分组 4.按周分组 PS:Oracle按时间段分组统计 想要按时间段分组查询,首先要了解level,connect by,oracle时间的加减.

Oracle按不同时间分组统计的sql
如下表table1:

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

1.按年份分组

2.按月份分组

3.按季度分组

4.按周分组


PS:Oracle按时间段分组统计

想要按时间段分组查询,首先要了解level,connect by,oracle时间的加减.
关于level这里不多说,我只写出一个查询语句:

oracle时间的加减看看试一下以下sql语句就会知道:

下面是本次例子:

d.dt-2 group by d.dt

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

自己实现例子:

select (sysdate-13)-(level-1)/4 from dual connect by level<=34 --从第一条时间记录开始(sysdate-13)为表中的最早的日期,“34”出现的分组数(一天按每六个小时分组 就应该为4)

一下是按照每6个小时分组

d.dt-1/4 group by mobile_no,d.dt


另外一个方法:

trunc(sysdate - 40) group by trunc(to_number(to_char(created_time,'hh24')) / 6)

--按12小时分组
select trunc(to_number(to_char(created_time,'hh24')) / 6)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读