小编典典

ORACLE SQL使用窗口函数运行TOTAL和Daytotal

sql

从EMPLOYEE表中,我想对记录的数量(雇用的雇员)进行分组,并且还需要每天运行的TOTAL。输入的格式如下:

rownum Hired_date_time
1 1/10/2012 11:00
2 1/10/2012 13:00
3 20/11/2012 10:00
4 2012年11月20日15:00
5 20/11/2012 16:00
6 30/12/2012 1:00

所需的输出:

聘用日期.......雇用的每一天.........共有雇员总数(TOTAL_number_of_employees)
2012年1月10日......................... 2 ........ 2
2012年11月20日.................. 3 ........ 5
30/12/2012 .................. 1 ....... 6

每天的分组没有问题:

select  trunc(Hired_date_time) as "Hired_date" , 
        count(*) as "Hired_per_day"
from employee
group by trunc(Hired_date_time)
order by trunc(Hired_date_time);

问题 :如何使用窗口功能获得总计(在最后一栏中)


阅读 452

收藏
2021-03-23

共1个答案

小编典典

select trunc(hired), 
       count(*) hired_today,       
       sum(count(*)) over (order by trunc(hired)) as running_total
from emp
group by trunc(hired)

http://sqlfiddle.com/#!4/4bd36/9

2021-03-23