首页 > 解决方案 > 如何标记过去多次重复的 id

问题描述

我正在尝试用过去 6 个月重复出现的特定条件标记员工 ID。我想要这样做的方法是创建一个新列,它将使用我在查询中指定的条件标记这些员工

   Eeid  Receiveddt  Status  Reason  Past 6 months?
   123     May19     closed   OHM      1
   234     Jan19     closed   xyz      0
   123     July19    closed   OHM      1
   567     Aug19     open     ZZZ      0
   123     Sept19    open     OHM      0

现在,根据上面的示例,eeid 123 被标记在“过去 6 个月?”列下。因为收到的日期是过去 6 个月内并且状态已关闭(这是我的 2 个标记条件)我正在考虑使用 case when 语句但不知道如何检查重复的“Eeid”

标签: sqlpostgresql

解决方案


这是你想要的吗?

select t.*,
       ( received_date > current_date - interval '6 month' and status = 'closed' )::int
from t;

推荐阅读