提问者:小点点

如何获得最后一个相同的Id[已关闭]


id  manager_id   name

1      1         Tony
2      2         smith
3      2         harry
4      1         jack
5      1         william
6      2         steve
7      2         bruce
8      2         john

我需要最后一个id 6,7,8。 怎么弄到那个?


共1个答案

匿名用户

您可以使用NOT exists来执行此操作:

select t.*
from tablename t
where not exists (
  select 1 from tablename 
  where manager_id <> t.manager_id and id > t.id
);

请参阅演示。
结果:

| id  | manager_id | name  |
| --- | ---------- | ----- |
| 6   | 2          | steve |
| 7   | 2          | bruce |
| 8   | 2          | john  |