在 Oracle 中使用分区依据获取计数
Using partition by to get count in Oracle
我有电磁脉冲table。我需要按国家/地区名称 = 'INDIA'、'USA'、'AUSTRALIA'.
分组的每个部门的员工人数
例如,
DEPARTMENT | #EMPLOYEE(INDIA) | #EMPLOYEE(USA) | # EMPLOYEE(AUSTRALIA)
ACCOUNTING | 5 |2 | 3
IT | 5 |2 | 1
BUSINESS | 1 |4 | 3
我需要用Partition BY来做。我可以使用 PARTITION by 来获取每个部门的员工总数。但我无法按国家/地区名称进行分组。
请给我建议。
谢谢。
考虑条件计数。
SELECT DEPARTMENT,
COUNT(CASE WHEN Country = 'INDIA' THEN 1 END) as emp_india,
COUNT(CASE WHEN Country = 'USA' THEN 1 END) as emp_usa,
COUNT(CASE WHEN Country = 'AUSTRALIA' THEN 1 END) as emp_australia
GROUP BY DEPARTMENT
我有电磁脉冲table。我需要按国家/地区名称 = 'INDIA'、'USA'、'AUSTRALIA'.
分组的每个部门的员工人数例如,
DEPARTMENT | #EMPLOYEE(INDIA) | #EMPLOYEE(USA) | # EMPLOYEE(AUSTRALIA)
ACCOUNTING | 5 |2 | 3
IT | 5 |2 | 1
BUSINESS | 1 |4 | 3
我需要用Partition BY来做。我可以使用 PARTITION by 来获取每个部门的员工总数。但我无法按国家/地区名称进行分组。
请给我建议。
谢谢。
考虑条件计数。
SELECT DEPARTMENT,
COUNT(CASE WHEN Country = 'INDIA' THEN 1 END) as emp_india,
COUNT(CASE WHEN Country = 'USA' THEN 1 END) as emp_usa,
COUNT(CASE WHEN Country = 'AUSTRALIA' THEN 1 END) as emp_australia
GROUP BY DEPARTMENT