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