使用mysql,sql語言刪除冗余信息


這是表,我們需要操作的就是刪除除了學號不同,其它信息都相同的冗余信息

思路:刪除表格class3中的冗余的stu_id信息,那么接下來我們應該去篩選哪些stu_id信息是冗余的,

此時我們想到的就是利用group by語句進行分組,即select min(stu_id) from class3 group by name,project,stu_id

這條語句,便幫我們去除掉了冗余的stu_id信息。即用到min()函數,和group by 便可得到我們想要的結果!

此時我們就可執行語句:

delete from class3 where stu_id not in (select min(stu_id) from class3 group by name,project,stu_id)

但我們使用mysql數據庫執行該語言的時候,報錯,是因為mysql自身的bug! 可對以上語句進行修改:

delete from class3 where stu_id not in (select b from(select min(stu_id)  as b from class3 group by name,project,stu_id))b

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM