欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

通过sql语句怎么查询最近几周的数据

更新时间: 2014-01-05 02:10:09 责任编辑: Author_N1

 

通过sql语句如何查询最近几周的数据
现在库里有一张表,这张表记录的是统计数据,里面的字段有id number类型,startdate日期(varchar2),startime开始时间(varchar2),结束时间endtime(varchar2),sendnum发送量(number),如下表:
id startdate starttime    endtime  sendnum
1 20131124 190000      195959  1000
2 20131124 200000      205959  2000

这张表里记录的是每一天内每个时间段的统计数据,如:2013-11-24这天,记录的数据就是00:00:00-23:59:59内的数据,每个小时统计一次,入一次库。也就是startdate为当天日期,startime为统计开始时间,endtime为统计结束时间。

现在的问题是:要根据这张表,写一个天、周、月、季度的视图。也就是通过天视图查询出这一天的统计数,周视图查询出这一周的统计数,月视图查询出这一个月的统计数,季度视图查询出这一季度的统计数。

请问这个视图该如何来写?主要是周视图,周为自然周。
--参考方法--
以下是计算20091231为该年的第几周,你可以将你的STARTDATE将其替换后求出每天在改年的周数,然后再对周数进行GROUP BY 求和
SELECT TO_CHAR(DECODE(SIGN((TO_DATE('20091231', 'YYYYMMDD') +
                           TO_NUMBER(DECODE(TO_CHAR(TRUNC(TO_DATE('20091231',
                                                                   'YYYYMMDD'),
                                                           'YYYY'),
                                                     'D'),
                                             '1',
                                             '8',
                                             TO_CHAR(TRUNC(TO_DATE('20091231',
                                                                   'YYYYMMDD'),
                                                           'YYYY'),
                                                     'D'))) - 2) -
                           LAST_DAY(TO_DATE('20091231', 'YYYYMMDD'))),
                      1,
                      LAST_DAY(TO_DATE('20091231', 'YYYYMMDD')),
                      (TO_DATE('20091231', 'YYYYMMDD') +
                      TO_NUMBER(DECODE(TO_CHAR(TRUNC(TO_DATE('20091231',
                                                              'YYYYMMDD'),
                                                      'YYYY'),
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:10:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6443/
本文WWW.DOC100.NET DOC100.NET版权所有。