1. 程式人生 > 其它 >關於 mysql 資料庫中 刪除重複資料

關於 mysql 資料庫中 刪除重複資料

技術標籤:mysqlsqlmysql資料庫

  • 小問題大細節,參考文章 :
  • 重點是第二個連結,第一個連結的思路是好的,但是第二的方法和總結更好。
  • https://www.cnblogs.com/luyingfeng/p/5772262.html
  • https://www.cnblogs.com/liyue-sqsf/p/9076902.html

表如下:
在這裡插入圖片描述

DELETE from S_score2 where id IN (
-- 	這裡再加 一個 select 語句,因為 
--  警告:不能根據本表的查詢結果來更新本表的資料,所以給表起個別名
	select * from (
		SELECT id from S_score2 
		where
(姓名, 課程) in (SELECT 姓名, 課程 FROM S_score2 GROUP BY 姓名, 課程 HAVING COUNT(*) > 1) and id not in (SELECT min(id) from S_score2 GROUP BY 姓名, 課程 HAVING count(*)> 1) ) as stu_score );
總結:

這個問題看似簡單,想了 很多種解法,更想了很久~ 不多說了,大家仔細看那兩個連結,並且最好先以自己的思路去實現下。
結束。