我有这个查询返回表中的所有行:
select Cost, Name, Id
from #Table
Run Code Online (Sandbox Code Playgroud)
它返回一个如下所示的结果集:
Cost Name Id
---- ---- ----
-2.00 Item1 1
4.00 Item2 1
6.00 Item3 1
3.00 Item1 2
9.00 Item4 2
Run Code Online (Sandbox Code Playgroud)
我想要做的是从每个具有最高值的ID中获取一行,因此5个结果将成为两个结果:
Cost Name Id
---- ---- ----
6.00 Item3 1
9.00 Item4 2
Run Code Online (Sandbox Code Playgroud)
6.00是Id为1的最高成本,9.00是Id为2的最高成本.
如何更改查询以执行此操作?
Adr*_*der 11
select id, max(cost) MaxCost FROM #Table group by ID
Run Code Online (Sandbox Code Playgroud)
要获取项目名称,您需要将此结果加入到原始项目中,但请记住,找到的组合可能有多组原始值.