Sql server 使用sql选择不同的记录

Sql server 使用sql选择不同的记录,sql-server,Sql Server,我有一个名为人员作业(ID,人员ID,Post)的表 使用样本数据 ID People ID Post 1 P1 Office Assistant 2 P2 Assistant Manager 3 P3 General Manager 4 P1 Officer 5 P2 Manager 我想得到如下记录 ID People ID Post 3

我有一个名为
人员作业(ID,人员ID,Post)
的表

使用样本数据

ID   People ID      Post

1    P1         Office Assistant

2    P2         Assistant Manager

3    P3         General Manager

4    P1         Officer

5    P2         Manager
我想得到如下记录

ID    People ID     Post

3    P3          General Manager

4    P1          Officer

5    P2          Manager
但表和列名不应包含空格


但是您的表和列名不应包含空格。

不太确定您的要求,但在猜测中,您需要特定人员id的最高id的数据。。。 这应该适合:

select * 
from People_Job
where id in (
    select max(id)
    from People_Job
    group by people_id
);

我刚刚看到GriGrim的帖子-如果你在大数据上运行,他的版本应该会表现更好…

不太确定你的要求,但在猜测中,你想要特定人物id的最高id的数据。。。 这应该适合:

select * 
from People_Job
where id in (
    select max(id)
    from People_Job
    group by people_id
);

我刚刚看到了格里姆的帖子-如果你在大数据上运行,他的版本应该会表现得更好…

SELECT*FROM People\u Job GROUP BY People\u ID
我会选择@amitsigh的解决方案。我不知道为什么会被删除。
SELECT*FROM People\u Job GROUP BY People\u ID
。我不知道为什么会被删除。这是我真正想要的答案。谢谢你的回答。这是我真正想要的答案。谢谢你的回答。
select * 
from People_Job
where id in (
    select max(id)
    from People_Job
    group by people_id
);