2009-09-21 46 views
1

我有這個疑問,從表中返回的所有行:最高值檢索行

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是最高成本f從1的Id和9.00是從Id的最高成本2.

我將如何更改查詢來做到這一點?

回答

11
select id, max(cost) MaxCost FROM #Table group by ID 

獲得項目名稱,您將需要從該連接的結果,原來的,但要記住,可能有超過1套原始值的發現相結合。

+1

哇,我吸。沒有意識到這很簡單。謝謝。 – Brandon 2009-09-21 18:13:06

+0

+1:讓你超過10K – 2009-12-11 06:17:08

1

就是這樣。

select max(cost) Cost, Name, Id 
FROM #Table 
group by ID, Name 
0

選擇MAX(成本),從表名組名的ID,名稱