我当前的查询信息如下:
| 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记录。
答案 0 :(得分:3)
以下内容将选择company_id desc
排序的最后一行。但是,这将是字母排序,不一定是正确的顺序。因此,如果有一个身份或生效日期,请使用该身份代替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)