【问题标题】:Query to find employee who worked on only one month查询只工作一个月的员工
【发布时间】:2023-03-20 16:18:01
【问题描述】:

我有一个表,其中包含 emp_id 和 Month,下面是示例数据

emp_id month
1 Jan
1 Feb
2 Jan
2 Feb
3 Feb

问题是,如何找到仅在 2 月工作的员工。预计产出是 2 月 3 日。

【问题讨论】:

  • 您可以从 emp_id 所在的表中选择 emp_id(从月份 ='FEB' 的表中选择 emp_id)和不在其中的 emp_id(从月份 != 'FEB' 的表中选择 emp_id)
  • 你没有一年?

标签: sql teradata


【解决方案1】:

根据数据,可以使用聚合:

select emp_id
from t
group by emp_id
having min(month) = 'Feb' and max(month) = 'Feb'

【讨论】:

  • 感谢@Gordon Linoff
【解决方案2】:
select emp_id
from t
group by emp_id
having count(distinct month)=1

还可以找到只工作了另外 1 个月的员工。

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2018-04-20
    • 2013-07-30
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 2020-08-21
    • 2020-01-27
    • 1970-01-01
    相关资源
    最近更新 更多