色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql刪除表中重復記錄

錢浩然2年前7瀏覽0評論

在MySQL數據庫中,有時候會出現表中存在重復的記錄的情況,這就需要我們對表中的數據進行去重操作。

一個常見的例子就是在一個名為‘Student’的表中,某一列‘id’的值重復出現了多次:

id  name  age
1   Tom   20
2   Jack  18
3   Mike  22
1   Jim   19
2   Lucy  21

我們需要刪除這個表中重復的記錄,可以通過以下步驟實現:

1.首先,我們需要查詢出表中存在重復記錄的所有行,可以使用如下SQL語句:

SELECT id, COUNT(id) FROM Student GROUP BY id HAVING COUNT(id) >1;

代碼中,我們使用GROUP BY語句對id進行分組,然后通過COUNT函數統計每個id的行數,通過HAVING語句篩選出行數大于1的記錄,即為重復行。

2.然后,我們可以使用DELETE語句刪除這些重復的記錄,代碼如下:

DELETE FROM Student WHERE id IN(SELECT id FROM (SELECT id, ROW_NUMBER() OVER( PARTITION BY id ORDER BY id) AS rnum FROM Student ) t WHERE t.rnum >1);

刪除語句中,我們使用子查詢查詢出所有需要刪除的行的id,并通過DELETE語句進行刪除。

3.最后,我們再次查詢表中的所有數據,驗證重復數據是否已經被刪除了,代碼如下:

SELECT * FROM Student;

執行以上操作后,表中的重復記錄已經被成功刪除了。