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

时间:2018-06-29 03:41:30

标签: sql sql-server database count where

我当前的查询信息如下:

| 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记录。

1 个答案:

答案 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)