0
要求....
列A |列B
1 | 23
1 | 25
1 | 26
2 | 4
2 | 5
2 | 6
如何將列值設置爲該列組的最大值另一列
我想更新列B和值應設置爲按A列組的最大值。結果應爲
列A |列B
1 | 26
1 | 26
1 | 26
2 | 6
2 | 6
2 | 6
要求....
列A |列B
1 | 23
1 | 25
1 | 26
2 | 4
2 | 5
2 | 6
如何將列值設置爲該列組的最大值另一列
我想更新列B和值應設置爲按A列組的最大值。結果應爲
列A |列B
1 | 26
1 | 26
1 | 26
2 | 6
2 | 6
2 | 6
嘗試使用相關子查詢:
update table t
set columnb = (select max(columnB) from table t2 where t2.columnA = t.columnA);
首先,您需要使用group by
來計算max
值並將它們存儲在臨時表中:
select columnA,
max(columnB) as maxB
into #TMP
from table
然後你可以用一個簡單的更新加入:
希望有所幫助。
-Dave
你試過這個嗎? 它看起來不會正常工作... – 333kenshin 2014-10-16 15:29:33