SQL - 如何在 where 子句条件中添加计数

SQL - How to add count in where clause condition

我当前查询的信息如下:

| employee_no | employee_name | employee_dept | company_id |
------------------------------------------------------------
|    P101     |     John      |      C1       |    comp1   |
|    P101     |     John      |      C1       |    comp2   |
|    P102     |     Mary      |      C2       |    comp1   |   

这是查询结果的简化版本。目前,我想要的结果如下:

| employee_no | employee_name | employee_dept | company_id |
------------------------------------------------------------
|    P101     |     John      |      C1       |    comp2   |
|    P102     |     Mary      |      C2       |    comp1   |

我要查询是否有同一员工的两条记录,查询应该取comp2记录。

以下将 select 最后一行 company_id desc 但是, 这将是 alpha 排序,不一定是正确的顺序。因此,如果有标识或生效日期,请使用它而不是 Order By company_id

例子

Select top 1 with ties *
 From  YourTable
 Order By Row_Number() over (Partition By employee_no Order By company_id desc)