重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

oracle如何按周统计,数据怎么按周统计

Oracle 日、月、周循环

Oracle SQL实现日、月、周循环

站在用户的角度思考问题,与客户深入沟通,找到中宁网站设计与中宁网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请雅安服务器托管、企业邮箱。业务覆盖中宁地区。

许多业务报表系统都是按日、月、周时间区间统计数据,通常都是通过job调用存储过程实现。

涉及到历史数据跑批时需要实现区间时间段按日、周、月循环。

oracle,给定一段时间,按时间(周)统计数据记录条数

具体你的周是怎么确定的?

select to_char(to_date('20090101','yyyymmdd')+rownum+7,'iw') column_name from dual connect by rownum=to_date('20111201','yyyymmdd')-to_date('20090101','yyyymmdd')

思路:

1. 用以上语句生成月份表(具体参数自己调一下)

2. 然后和你要统计的表进行外连接,不存在的就是null ,用nvl(null,0) 表示统计数据为0

参考:

oracle中如何获取中文的周数

默认oracle中,通过

select to_char(sysdate,'ww'),to_char(sysdate,'yyyy') from dual可以获取到ORACLE的周数,但是这个给的周数以及年数是按照每年的第一天为第一周的算法,和我们平常的计算方法不一样,平常的算法是按照星期来计算的,经过查找资料,to_char提供了新的参数:如下:

select to_char(sysdate,'iw'),to_char(sysdate,'iyyy') from dual

这个是按照IW = Week of year (1-52 or 1-53) based on the ISO standard

通常的ww是按照WW = Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.

比如2008年12月31日,按照不同的查询方式的查询结果如下:

select to_char(to_date('2008-12,31', 'yyyy-mm-dd'), 'ww') ww,

to_char(to_date('2008-12,31', 'yyyy-mm-dd'), 'yyyy') yyyy

from dual

查询结果

序号 周 年度

1 53 2008

select to_char(to_date('2008-12,31', 'yyyy-mm-dd'), 'iw') iw,

to_char(to_date('2008-12,31', 'yyyy-mm-dd'), 'iyyy') iyyy

from dual

如何将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为你要查询的表,查出每周数据量

查询结果示例如下:

2012年第31周 340

2012年第42周 6

2012年第43周 35

2012年第46周 7655

2013年第03周 18

2013年第04周 4

2013年第05周 2

2013年第06周 8

Oracle计算周数的几种方式

比如星期一到星期天算一周 查2011年7月完整周数 select max(count1) - 1 from (SELECT count(1) count1 FROM DUAL WHERE TO_CHAR(ADD_MONTHS(LAST_DAY(to_date('201107', 'yyyyMM')), -1) + LEVEL, 'DAY') = '星期一' CONNECT BY LEVEL

oracle 怎么实现某月中按每周来分组统计

SELECT TO_CHAR(TO_DATE(20160316,'YYYYMMDD'),'W') FROM DUAL;

TO_CHAR函数可以获取某一天是在该月中的第几周,然后可以按照这个函数来分组了


分享标题:oracle如何按周统计,数据怎么按周统计
URL网址:http://cqcxhl.com/article/dsisphe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP