在oracle中,怎么把时间按每周分组啊,数据库中存的是一个固定的时间,请教各位大虾指点指点。

供稿:hz-xin.com     日期:2024-05-21
查询出来的数据 按天分组,数据库只有一个时间字段 是 时间戳

SELECT DATE_FORMAT(create_time,'%Y-%m-%d') days,COUNT(id) COUNT FROM role GROUP BY days;
先转换xxxx-xx-xx时间格式,然后按时间格式进行分组。

select to_char(to_date('20150727143140', 'yyyyMMddHH24miss'),'yyyy-mm-dd hh24:mi:ss') from dual

oracle的date时间类型是 '2011-7-30 14:31'这种形式
因此就算你用extract()或者to_char()截取时间段也没有没办法区分周
我建议的方法是新建一个字段week,从时间里截取月和日去计算周,可以从每月的第一天00:00开始算,完成7天算一周。
也就是说这个字段week下要有至少4条记录,分别是每一个月的第一二三四周。
然后根据这个字段用 group by week 去分组就行了。

group by to_char(sysdate,'fmww')

... group by to_char(日期字段,'YYYYMM') || to_char(日期字段,'W')

oracle 中怎么把一段时间 ,每隔一小时分个组,这个时间是个字符串...
答:1,SELECT to_char(d, 'yyyy') 年,to_char(d, 'MM') 月,to_char(d, 'DD') 日,to_char(d, 'hh24') 时,to_char(d, 'mi') 分,to_char(d, 'ss') 秒 FROM (SELECT to_date('20100901183000', 'yyyymmddhh24miss') d FROM dual)2,SELECT to_char(f, 'yyyy') from_年,to...

如何将oracle数据库中的数据按星期算出每个星期的平均值? 每条数据...
答:select max(years) || '年第' || week || '周',count(1)from (select to_char(Y_TIME, 'yyyy') years,to_char(Y_TIME+to_char(trunc(Y_TIME,'yyyy'),'d')-2,'WW') week from T_B) group by week order by max(years),week 其中Y_TIME为你数据的时间字段,T_B为你要查询...

在oracle中,怎么把时间按每周分组啊,数据库中存的是一个固定的时间,请...
答:我建议的方法是新建一个字段week,从时间里截取月和日去计算周,可以从每月的第一天00:00开始算,完成7天算一周。也就是说这个字段week下要有至少4条记录,分别是每一个月的第一二三四周。然后根据这个字段用 group by week 去分组就行了。

oracle如何按时间格式查询
答:1、打开常用PLSQL Developer工具,输入登录信息。如图所示:2、完成以上操作后,要在工具中新建SQL窗口,如图:3、打开新建SQL的窗口,打开是空白是正常情况。如图:4、然后日期createdatetime,日期型字段类型如下:5、输入如下语句,从表table123进行查询,如图所示:6、点击查询按钮,进行查询操作,这样就...

Oracle按时间段取数据
答:给你简单写个,不过到时候你得定义一个job自动调度(每小时执行),这里我就按你说的写个存储过程 先建立一个存储每个小时数据的表,就叫test吧,之前的你取数据的表叫test1 PROCEDURE SP_AUTO_HOUR IS v_time varchar2(10);v_time1 varchar2(10);begin select to_char(sysdate-1/24,'yyyymmddhh...

oracle的job怎么设置一个过程每5分钟执行一次
答:dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+5/1440');--每天1440分钟,即一分钟运行test过程一次,分子为5则为每分钟执行一次 具体可以参考我的百度云笔记:http://wenzhang.baidu.com/page/view?key=dd5fd5e21b9d6ecc-1427393850 一、设置初始化参数 job_queue_processes sql> alter ...

如何在Oracle中实现时间相加处理
答:group by yhm;---计算出在线天数。如果login和out仅仅记录时间,不含日期,则自己做个转化即可。---关于要显示为:日/时/分,为了简单,将sum(...)设定为A,则表达式如下 select yhm,round(A)||'日'||(round(A*24)-round(A)*24)||'时'||round(A*24*60-round(A*24*60)-round(A*2...

Oracle中的SQL查询语句:如何按照表中不同部门,按照录入时间分12个月份...
答:select bm,sum(case when to_char(time,'MM')='01' then fz else 0 end ) 1月份fz合计,sum(case when to_char(time,'MM')='02' then fz else 0 end ) 2月份fz合计,sum(case when to_char(time,'MM')='03' then fz else 0 end ) 3月份fz合计,sum(case when to_char(time,...

oracle SQL 取出每个分组的按照日期最新一条记录,同时还显示每个分组...
答:--用外链接把AA表和CC表链接起来查询就可以了SELECT AA.CODE, AA.NUM, AA.PRICE, CC.DATETIME, CC.SUMNUM FROM test AA --下面的BB表查询的是根据code分组查询num求和及最大datetime,之后作为一个表CC LEFT JOIN (SELECT BB.CODE, SUM(NUM) SUMNUM,MAX(BB.DATETIME) DATETIME FROM ...

oracle job 时间每五分钟执行怎么写
答:oracle job 时间每五分钟执行:begin sys.dbms_job.submit(job => :job,what => '一个存储过程;',Interval =>TRUNC(sysdate,'mi') + 5/ (24*60));commit;end;其中:如果改成TRUNC(sysdate,'mi')+ 10/ (24*60) 就是每10分钟执行次。每秒钟执行次:Interval => sysdate+ 1/(24 * ...