我有两个问题。
第一个问题是;我想每周统计数据并查看总数据。总数据不正确。W1
显示最近一周的数据,W2
显示最近两周的数据,等等。
结果:
<表类>水果 w1 w2 w3 w4 总 tbody><<tr>苹果 6 2 4 1 25 香蕉7 1 5 9 32 表类>
您可以使用DENSE_RANK
来获得最近五周的编号1,2,3,4和5。使用ISO周('IYYY-IW'
格式)。
select wk1, wk2, wk3, wk4, wk5, wk1 + wk2 + wk3 + wk4 + wk5 as total
from
(
select
fruit,
dense_rank() over (order by to_char(eventtime, 'iyyy-iw') desc) as wk
from fruits
where eventtime > trunc(sysdate) - interval '35' day
)
pivot
(
count(*)
for wk in (1 as wk1, 2 as wk2, 3 as wk3, 4 as wk4, 5 as wk5)
)
order by fruit;