------解决方案-------------------- 建表语句能看下不
------解决方案-------------------- 第一个得看你怎么设计表了,或者在库管理是否先进先出来考虑 第二个问题解决方案 SELECT SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 0, T.销售数, 0)) AS 过去第1周销售, SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 1, T.销售数, 0)) AS 过去第2周销售, SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 2, T.销售数, 0)) AS 过去第3周销售, SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 3, T.销售数, 0)) AS 过去第3周销售 FROM 销售明细表 T
是以当前日期反推的一周,假设当前是星期3,则过去第一周统计数为上周3至本周2
------解决方案-------------------- 利用trunc(DATECOL,'iw') 举个例子,求上个星期的。with as里面的是测试数据 WITH tt AS( SELECT DATE'2010-4-11' rq,11 amount FROM dual UNION ALL SELECT DATE'2010-4-17',20 FROM dual)
SELECT * FROM tt WHERE rq>=trunc(SYSDATE,'iw')-7 and rq<trunc(sysdate,'iw')
------解决方案-------------------- LZ,你一定在一个SQL里面实现所有的功能吗?