在 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