我搜索了但所有的問題都想出了刪除重複記錄並只保留一個最新的表,但我有點不同,我想刪除重複記錄同組,但只保留該組的最新記錄。這裏有一個例子:MYSQL刪除同一組中的重複記錄並只保留一個
ID Device_ID Time Content Text
1 abc 2013-11-30 15-30-01 I love you
2 abc 2013-11-30 15-30-01 I love you
3 def 2013-10-30 12-12-02 I love you
4 def 2013-10-30 12-12-02 I love you
5 ghj 2013-09-30 11-12-02 I love you
6 ghj 2013-09-30 11-12-02 I love you
所以存在具有與其他設備相同內容的一些設備,我想找到一種方法來刪除每一個設備ID重複的內容,並刪除重複,並保持最新。
如果我選擇按內容分組的文本,然後從那裏刪除它,那麼它會從其他設備刪除所有其他內容,我也做不到。
假設我有5000萬條記錄。那麼有沒有一種方法可以刪除每個設備ID上的重複記錄,其結果就像是我愛你每個設備ID上的內容文本。
我無法在惰性期間將我的列內容文本設置爲唯一,因爲可能存在使用相同內容文本的某個設備ID。或者,也許唯一的時間,但隨後每一個設備ID可以插入相同的時間,但差分內容的文字...
我想水庫
ID Device_ID TimeContent Text
2 abc 2013-11-30 15-30-01 I love you
4 def 2013-10-30 12-12-02 I love you
6 ghj 2013-09-30 11-12-02 I love you
不要放棄。這個問題必須已經回答了數千次 - 在SO和其他地方。 (雖然如果你真的無法弄清楚,那麼適當的DDL和/或一個sqlfiddle與預期的結果集可能會有用) – Strawberry
你能解釋更多嗎? –
這是一個與您的案例非常相似的答案:http://stackoverflow.com/questions/4075430/how-do-i-remove-duplicates-rows-in-my-mysql-database-keep-the-one-with -lowest整個技巧是在GROUP BY子句中列出適當的列,並使用MAX而不是MIN(用於最新記錄)。 – krokodilko