使用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;