2015-04-24 34 views
0

刪除重複的行我對MySQL的這個表:除了最後一個

表1

ID CODE  USER  NUMBER  ADJUSTMENT  ADJUST_DATE 
1  abc  Frank  10245  1    2015/04/20 
2  def  Jonathan 25410  0    2015/04/21 
3  ghi  Karen  55214  3    2015/05/05 
4  abc  Frank  10245  2    2015/04/21 
5  abc  Frank  10245  4    2015/04/22 

我想刪除重複的數據和離開日期的最後一項:

ID CODE  USER  NUMBER  ADJUSTMENT  ADJUS_DATE 
2  def  Jonathan 25410  0    2015/04/21 
3  ghi  Karen  55214  3    2015/05/05 
5  abc  Frank  10245  4    2015/04/22 

代碼,用戶,數字,調整,ADJUS_DATE是'唯一'

我需要創建一個臨時表結果是因爲我需要所有的記錄。

+0

這個問題上的信息有點短。你可以分享你的嘗試,以及你遇到了什麼問題? –

+0

你說代碼,用戶,數字,調整,ADJUS_DATE是'唯一',然後他們如何變得重複!爲什麼在插入數據庫之前沒有檢查它們? –

回答

2

生成的類似值列分組的最大日期的一個子集,並加入回到基地集...

SELECT A.ID, A.Code, A.user, A.Number, A.Adjustment, A.Adjust_date 
FROM table1 A 
INNER JOIN (SELECT Code, User, Number, max(adjust_date) mDate 
      FROM table1 group by Code, User, Number) B 
    on A.code = B.code 
and A.user = B.User 
and A.Number = B.Number 
and A.Adjust_date = B.mdate 
+0

謝謝@xQbert,我只是改變了「和A.Adjust_date = B.Adjust_date」由「和A.Adjust_date = mDate」,它的工作! – Seph1603