在sql中按EmpID从distinct查找最后一条记录

在sql中按EmpID从distinct查找最后一条记录,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个表,其中有EMPID列。在这个表中,我有多个具有相同EMPID的行。现在我想得到最后一行不同的EmpID。请查看下表数据。我想得到ID为3、5和7的行和all列的结果 我希望结果如下: 我尝试使用下面的查询,但不起作用 SELECT ID, EmpID, Salary, Leave, TakenLeave, field1, field2, field3 FROM Table_2 GRO

我有一个表,其中有EMPID列。在这个表中,我有多个具有相同EMPID的行。现在我想得到最后一行不同的EmpID。请查看下表数据。我想得到ID为3、5和7的行和all列的结果

我希望结果如下:

我尝试使用下面的查询,但不起作用

SELECT ID,
       EmpID,
       Salary,
       Leave,
       TakenLeave,
       field1,
       field2,
       field3
FROM   Table_2
GROUP  BY ID,
          EmpID,
          Salary,
          Leave,
          TakenLeave,
          field1,
          field2,
          field3 

根据EmpId和Id desc给出行数分区

质疑

内部SQL根据empId选择maxid,外部select选择具有这些ID的行。

您可以使用此代码

SELECT
TOP 1 WITH TIES 
ID, EmpID, Salary, Leave, TakenLeave, field1, field2, field3 
FROM [TABLE_NAME]
ORDER BY ROW_NUMBER() OVER(PARTITION BY EmpId ORDER BY Id DESC)
    select ID, EmpID, Salary, Leave, TakenLeave, field1, field2, field3
  from (select ID,
               EmpID,
               Salary,
               Leave,
               TakenLeave,
               field1,
               field2,
               field3 row_number() over(partition by EmpID order by id desc) as que
          from table_2)
 where que = 1

从“按EmpID选择行数多部分…”中选择*。。。。作为注册护士,*来自。。其中rn=1请将预期结果作为文本发布,即使在上面的家伙发表评论后,也可以将预期结果以文本格式发布,您已将其发布为图像-1Sry Pdrp和TheGameiswar@TanjimRahman-哈,谢谢你。我是从伟大的戈登·林诺夫那里学到的。
SELECT
TOP 1 WITH TIES 
ID, EmpID, Salary, Leave, TakenLeave, field1, field2, field3 
FROM [TABLE_NAME]
ORDER BY ROW_NUMBER() OVER(PARTITION BY EmpId ORDER BY Id DESC)
    select ID, EmpID, Salary, Leave, TakenLeave, field1, field2, field3
  from (select ID,
               EmpID,
               Salary,
               Leave,
               TakenLeave,
               field1,
               field2,
               field3 row_number() over(partition by EmpID order by id desc) as que
          from table_2)
 where que = 1