有個表如下,想按流水號去重,但優先保留結果為“成功“的記錄,SQL陳述句怎么寫?
ID 流水號 結果
54610 392478201163006 失敗
19516 122171001162247 未知
88 071950201199833 未知
113357 090246701106864 成功
2594 121268601151695 未知
56135 444719001113492 失敗
52843 333778701109253 未知
135595 290091001142190 成功
21483 183013101120417 失敗
20651 115199801157643 失敗
126540 243079201146037 成功
19516 122171001162247 失敗
92748 505599001114760 未知
37989 283371201181498 失敗
20723 115199801157643 失敗
52843 333778701109253 失敗
18420 062140101106161 未知
24071 264434301197793 失敗
56135 444719001113492 未知
4262 220403701154822 未知
92748 505599001114760 失敗
26538 344555901166962 未知
54610 392478201163006 未知
2679 185197001121513 未知
104366 311500001180172 成功
136568 350577001176525 成功
24071 264434301197793 未知
107647 495409301144376 未知
107647 495409301144376 成功
21483 183013101120417 未知
20723 115199801157643 未知
26538 344555901166962 失敗
20651 115199801157643 未知
45298 055662501165612 失敗
18515 062140101106161 失敗
101829 264125601140475 未知
101829 264125601140475 成功
104366 311500001180172 未知
uj5u.com熱心網友回復:
row_number() over(partition by 流水號 order by charindex(結果,'成功,失敗,未知')) as ridwhere rid=1
uj5u.com熱心網友回復:
SELECT a.ID,a.流水號,a.結果 FROM(
SELECT ROW_NUMBER() OVER (PARTITION BY 流水號 ORDER BY 結果) num,ID,流水號,結果 FROM 資料表名
) a WHERE a.num=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/280443.html
標籤:疑難問題
上一篇:程式設計實驗
