我真的不知道如何正确地命名这个问题。
表格结构如下:
ID | CLIENT_ID | …
ID
是主增量和自动增量。CLIENT_ID
另一方面,可以多次发生。我想要的是通过
CLIENT_ID
和最高的ID
来获取行。。。举个例子ID | CLIENT_ID
1 | 1
2 | 1
3 | 2
4 | 3
5 | 2
所以这里
CLIENT_ID
1和2出现多次(因为有一个更新的版本)。查询后,我希望结果中有以下
ID
s:2,4,5(因为ID
1行中的最高CLIENT_ID
是ID
2行,依此类推) 最佳答案
如果需要所有列,可以在
select * from my_table
where (id, client_id) in ( select max(id), client_id
from my_table
group by client_id);
但如果你只需要身份证
select id from my_table
where (id, client_id) in ( select max(id), client_id
from my_table
group by client_id);
或者更简单
select max(id)
from my_table
group by client_id;
关于mysql - SQL根据两个ID获取行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38512045/