我有数据,看起来像这样。为简单起见,我将date
显示为“日期”+数字
Date ID
-----------
Day1 A
Day1 B
Day1 C
Day2 A
Day2 A
Day3 A
Day4 B
Day5 A
我想计算每个date
中有多少个ID。但是,每个日期都需要包含以前的所有日期计数。
含义,如果用户从第3天到第5天选择范围。
Date Count
Day3 Day1+Day2+Day3
Day4 Day1+Day2+Day3+Day4
Day5 Day1+Day2+Day3+Day4+Day5
我能想到的是使用'UNION'每天添加3个查询。
答案 0 :(得分:3)
您正在寻找累积总和,Oracle确实支持。
试试这个:
select date, sum(daycnt) over (order by date)
from (select date, count(*) as daycnt
from t
where date between DAY_START and DAY_END
group by t
) t
答案 1 :(得分:0)
检查这些东西
select Dt, count(*)
from
(
select t2.Date Dt
from t t1, (select Date from t group by Date) t2
where t1.Date < t2.Date
)
group by Dt