我試圖通過首先按列1, 對數據進行分組來更新表,我需要: 按列2對數據進行排序 使用頂部填充Column4列3的值(按列2排序) 列1,3,4是varchar,列3是int。 我試圖用一個CTE的更新和Top爲:使用聚合的分組數據的SQL更新
Update a
Set a.col4 = c.Best
From Table1 a,
(Select Top (1) Col3 as Best, Col1, Col2
From Table1
Group By Col1
Order By Col2 DESC) c
where a.Col1 = c.Col1
,但它似乎是從每個組中選擇從表中的前值不會。有誰知道這裏缺少什麼或更簡單的方法嗎?
開始數據:
Col1中col2的COL3 COL4
unit101 11 unit118 NULL
unit101 13 unit125 NULL
unit101 12 unit135 NULL
unit107 11 unit168 NULL
unit107 10 unit199 NULL
所需的結果:
Col1 Col2 Col3 Col4
unit101 11 unit11 unit125
unit101 13 unit125 uni T125
unit101 12 unit135 unit125
unit107 11 unit168 unit168
unit107 10 unit199 unit168
柱4只需要具有從COL3的值,其中第2欄第是在數據的行的最大值由COL1作爲分組。
喲可以提供[MCVE]的結果(http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an- MCVE換什麼,似乎對我將要-A-極簡單的SQL查詢)?如果我們可以看到輸入/輸出的樣本,回答這樣的問題更容易。 –