Sql查询查找值为2的行取决于行中另一个值的计数

Sql查询查找值为2的行取决于行中另一个值的计数,sql,Sql,我有一个员工列表,列出了他们的职位编号,还有一个名为position_sequence的字段,它将员工的职位分配为1或2。因此,只有当一名员工有两个职位时,一个职位应分配为1,另一行的值应为2 但是,我希望找到一个查询,以查找数据的所有问题,其中员工只有一个职位,但职位序列是2而不是1 正确的数据2位置: employee position sequence ------------------------------------ bob builder 1 bob

我有一个员工列表,列出了他们的职位编号,还有一个名为position_sequence的字段,它将员工的职位分配为1或2。因此,只有当一名员工有两个职位时,一个职位应分配为1,另一行的值应为2

但是,我希望找到一个查询,以查找数据的所有问题,其中员工只有一个职位,但职位序列是2而不是1

正确的数据2位置:

employee   position   sequence
------------------------------------
bob        builder    1
bob        cleaner    2 
示例1位置不正确,但标记为2而不是1:

 employee   position   sequence
------------------------------------
    sally   builder    2
  
您可以使用“不存在”:

如果您想要一个常规的序列缺失,则生成序列并显示异常:

select t.*
from (select t.*,
             row_number() over (partition by employee order by sequence) as imputed_sequence
      from t
     ) t
where imputed_sequence <> sequence;
select t.*
from (select t.*,
             row_number() over (partition by employee order by sequence) as imputed_sequence
      from t
     ) t
where imputed_sequence <> sequence;