我在嘗試編寫一個查詢,該查詢將在值更改之前刪除「重複」值。例如,我有以下數據:刪除SQL查詢中的「重複」記錄
id, date_recived, name1, percent
1, 8/19/13, Joe, 2
2, 8/15/13, Joe, 3
3, 8/12/13, Joe, 2
4, 4/08/13, Joe, 2
在此示例中,我需要僅刪除id爲3的行,因爲百分比沒有變化。我已經使用ROW_NUMBER試過了,但是當我通過名稱和百分比劃分出現的數據如下:
id, date_recived, name1, percent, Row_Number
1, 8/19/13, Joe, 2, 3
2, 8/15/13, Joe, 3, 1
3, 8/12/13, Joe, 2, 2
4, 4/08/13, Joe, 2, 1
這不會起作用,因爲1人丟在外面,我需要保持它。任何幫助,將不勝感激。
感謝,
編輯:
查詢是(從評論):
WITH feedback_On_Same_Date AS (
SELECT id, received_dt, participant_nm, pretax_deferral_prcnt,
ROW_NUMBER() OVER(PARTITION BY participant_nm, received_dt ORDER BY received_dt DESC, id DESC) AS RowNumberByDt
FROM be_ing_feedback
)
SELECT *, ROW_NUMBER() OVER(PARTITION BY participant_nm, pretax_deferral_prcnt ORDER BY received_dt ASC, id ASC) AS RowNumberByDef
FROM feedback_On_Same_Date
WHERE RowNumberByDt = 1
ORDER BY participant_nm ASC, received_dt DESC
請發表您已經試過SQL。 – Kermit
你正在使用哪些DBMS?甲骨文? Postgres的? –
假設SQL Server? – gvee