读书人

oracle 按周统计数据,该怎么处理

发布时间: 2012-05-20 16:03:12 作者: rapoo

oracle 按周统计数据
oracle存在一张表
------------------------------
username ddate
aaa 2012-01-01
bbb 2012-01-03
ccc 2012-02-05
ddd 2012-03-01
....
------------------------------

我想按照周来统计数据,这里遇到的一个困难是,表中的周不是连续的,例如第1周,第2周,第3周,第4周....
想把没有出现的周的数据也列出来,用0表示,例如:
第1周 2
第2周 0
第3周 0
第4周 0
...
第N-1周 1
第N周 2


各位有什么好办法!

[解决办法]
--一年总共53周
SELECT a.weekno,
NVL(b.counted,0)
FROM
( SELECT ROWNUM AS weekno FROM dual CONNECT BY ROWNUM <= 53
) a
LEFT JOIN
(SELECT TO_CHAR(ddate,'ww') AS weekno,
COUNT(1) AS counted
FROM yourtablename
GROUP BY TO_CHAR(ddate,'ww')
) b
ON a.weekno = b.weekno

读书人网 >oracle

热点推荐