使用group by运行总计数;SQL

使用group by运行总计数;SQL,sql,oracle,Sql,Oracle,我有一张这样的桌子: 我想每年对其进行分组,并创建每年员工总数: 2001 1 2002 8 2003 12 我每年都会进行分组和计数,但我不知道如何用它来创建运行总数。尝试添加over()等,但仍有错误 SELECT EXTRACT(year FROM HIRE_DATE) "Year", COUNT(EMPLOYEE_ID) FROM hr.Employees GROUP BY EXTRACT(year FROM HIRE_DATE) O

我有一张这样的桌子:

我想每年对其进行分组,并创建每年员工总数:

2001   1
2002   8
2003   12
我每年都会进行分组和计数,但我不知道如何用它来创建运行总数。尝试添加over()等,但仍有错误

SELECT EXTRACT(year FROM HIRE_DATE) "Year",
  COUNT(EMPLOYEE_ID) 
  FROM hr.Employees
  GROUP BY EXTRACT(year FROM HIRE_DATE)
  ORDER BY "Year" DESC;
使用窗口功能:

SELECT EXTRACT(year FROM HIRE_DATE) "Year", COUNT(*),
       SUM(COUNT(*)) OVER (ORDER BY MIN(HIRE_DATE)) as running_count
FROM hr.Employees
GROUP BY EXTRACT(year FROM HIRE_DATE)
ORDER BY "Year" DESC;