计算每个国家/地区的员工数量

时间:2017-12-05 22:37:53

标签: sql oracle11g oracle-sqldeveloper

我有这个任务:

计算每个国家/地区的员工人数。当超过20名员工

时,仅显示这些国家/地区
  • employee_id专门用于员工表
  • 国家/地区属于不同的表 - 国家/地区表,我们需要此表中的country_name

我不知道如何解决这个问题。低于我能够创造的。我认为我们应该使用Inner Join。

SELECT a.employee_id
    , b.country_name
    , COUNT(a.employee_id) AS count
FROM   employees a
      INNER JOIN countries b ON a.employee_id = b.country_name
GROUP BY b.country_name
WHERE employee_id >20;

我想我从一开始就需要帮助。 感谢

1 个答案:

答案 0 :(得分:0)

您的加入似乎不正确,但由于我不知道表格结构,我不能说出正确的列是什么(我将假设它应该是 country_name 即便如此,试试这个:

SELECT b.country_name
    , COUNT(a.employee_id) AS count
FROM   employees a
      INNER JOIN countries b ON a.country_name = b.country_name
GROUP BY b.country_name
HAVING COUNT(employee_id) >20;

分组时,您需要使用HAVING语句进行过滤。