数据库一些的分组方法

//指定日期的上一个周末
trunc(to_date('2020-06-01','YYYY-MM-DD'),'iw') - 1
//指定日期的下一个周一
trunc(to_date('2020-06-01','YYYY-MM-DD'),'iw') + 7
//昨天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') - 1
//明天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') + 1
//上一个月的最后一天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') - 1
//下一个月的第一天
ADD_MONTHS(trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') , 1 )
//  这是4个小时间隔
select to_date(time,'YYYY-MM-DD HH24:MI:SS') +(level-1)/6  dt
from (select '2020-06-01' time from dual )  connect by level <= 7
// 按时间段分组
select sysdate from dual emc,( select to_date(time,'YYYY-MM-DD HH24:MI:SS') +(level-1)/6 dt from (select '2020-06-01' time from dual ) connect by leve<= 7) d where emc.DATA_TIME <= d.dt and emc.DATA_TIME >d.dt-1/6
group by XXX;

 

posted @ 2020-06-08 09:14  窦婴  阅读(329)  评论(0编辑  收藏  举报