2011-06-16 56 views
1

我有值的表中選擇最大值分組IDS

ID RefID value 
1 1  0 
2 1  200 
3 2  300 
4 3  100 
5 3  0 

我需要一個像下面

ID RefID value 
1 1  200 
2 1  200 
3 2  300 
4 3  100 
5 3  100 

由於提前,

+0

你想零值爲最高值?例如,如果有6,1,100行,該怎麼辦?對於RefID = 1,你想要100還是200?非零值的平均值? – gbn 2011-06-16 09:56:14

+0

是的,就像那樣.. – Navaneethan 2011-06-16 09:57:31

+0

請參閱davek的回答然後 – gbn 2011-06-16 10:00:45

回答

2

結果假設你想要的最大值value每個RefID: -

select m.ID, m.RefID, g.value 
from myTable m inner join 
(
select max(value) as value, RefID from myTable group by RefID 
) g 
on m.RefID = g.RefID 
+0

添加RefID派生聚合。否則+1 – gbn 2011-06-16 10:02:05