在sql中按EmpID从distinct查找最后一条记录
我有一个表,其中有EMPID列。在这个表中,我有多个具有相同EMPID的行。现在我想得到最后一行不同的EmpID。请查看下表数据。我想得到ID为3、5和7的行和all列的结果 我希望结果如下: 我尝试使用下面的查询,但不起作用在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
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