Oracle按周統計數據的幾種方法

1、使用to_char函數,返回第幾周,並按第幾周進行group by統計:  
  select sum(sal) ,
      to_char(HIREDATE,'yyyy')||':'||to_char(HIREDATE,'IW') week_sn
  from scott.emp
      group by to_char(HIREDATE,'yyyy')||':'||to_char(HIREDATE,'IW');

    其中格式'IW'返回當前日期是當年的第幾周。sql

2、使用next_day()函數:
函數

select sum(sal) ,
      NEXT_DAY(trunc(HIREDATE),'星期一')-7 weekstart,
      NEXT_DAY(trunc(HIREDATE),'星期一') weekend
from scott.emp
group by NEXT_DAY(trunc(HIREDATE),'星期一');
  上面這個例子是在中文字符集下使用,若是在英文字符集下則使用:

select sum(sal) ,
      NEXT_DAY(trunc(HIREDATE),'Monday')-7 weekstart,
      NEXT_DAY(trunc(HIREDATE),'Monday') weekend
from scott.emp
group by NEXT_DAY(trunc(HIREDATE),'Monday');


本人喜歡用第一種,你們有更好的能夠討論分享下。spa

相關文章
相關標籤/搜索