我花了一點時間尋找這種情況,發現很多東西都很近,但我無法讓它適應我的情況。刪除(我的查詢)以外的所有行
爲了簡化,我有表筆與contact_id
和Code
contact_id Code
__________ ____
123456 100
123456 200
123456 300
987654 100
987654 200
654321 300
對於每個contact_id
我要選擇具有最高的代碼行和刪除等。我沒有拿出一個select語句,以顯示我想要的表格看起來像:基於上述
select distinct contact_id, MAX(code) OVER(Partition by contact_id) AS code
from t
那麼我的結果集爲:
123456 300
987654 200
654321 300
如何刪除除外的所有行由此選擇語句生成的。我嘗試使用NOT IN
子句,但這當然不會支持多列。
只是一個想法的人,沒有必要恨我。此外,爲什麼人們必須對帖子進行這樣輕微,不必要的編輯?很煩人。 – totallyuneekname
在某些條件下(作爲一次性批處理作業,剩餘數據集較小的大表),這可能是最有效的解決方案。 –