SQL组由id

Bou*_*ain 1 sql

如果我有一个结果集

ID1     ID2
43918   804
43917   804
44047   805
44046   805
44045   805
44044   805
44048   805
45172   806
44298   807
44296   808
44297   808
44294   808
44295   808
44331   809
44330   809
44334   809
44333   809
44332   809
44323   810
Run Code Online (Sandbox Code Playgroud)

如何将其限制为结果集

ID1     ID2
43918   804
44047   805
45172   806
44298   807
44296   808
44331   809
44323   810
Run Code Online (Sandbox Code Playgroud)

基本上每个唯一ID2有一个ID1.列来自同一个表.

select ID1,ID2
from table
where ID2 in (804, 805, 806, 807, 808, 809, 810);
Run Code Online (Sandbox Code Playgroud)

Rya*_*che 9

select max(id1), id2
from table
group by id2
Run Code Online (Sandbox Code Playgroud)

我假设你想要最大值.关键是你要对id2列进行分组,并在id1上执行某种聚合函数(min,max,sum,avg)