1.表結構:
CREATE TABLE testS(id INT PRIMARY KEY AUTO_INCREMENT,stu_no VARCHAR(20),stu_name VARCHAR(22) ,course_no INT,course_name VARCHAR(20),score INT)

2.題目:
刪除除了自動編號不同,其他都相同的學生冗余信息。
3.sql:
DELETE FROM tests WHERE id NOT IN ( SELECT b.bid FROM (SELECT MIN(id) bid,stu_no,course_no,score FROM tests GROUP BY stu_no,course_no,score ) b )
分析:
1) SELECT MIN(id) bid,stu_no,course_no,score FROM tests GROUP BY stu_no,course_no,score
首先按除了id以外的字段分組,查詢出最小的id
2) SELECT b.bid FROM (SELECT MIN(id) bid,stu_no,course_no,score FROM tests GROUP BY stu_no,course_no,score ) b
這一個是查詢出1中的最小id
3) DELETE FROM tests WHERE id NOT IN ...
刪除id不包含2中查詢出的數據
