背景介紹
最近在設計數(shù)據(jù)庫的時候因為開始考慮不周,所以產生了大量的重復數(shù)據(jù)?,F(xiàn)在需要把這些重復的數(shù)據(jù)刪除掉,使用到的語句就是Group By來完成。為了進一步了解這條語句的作用,我打算先從簡單入手。
建一個測試表
查看表結構
desc test_group
插入數(shù)據(jù)
測試開始
我想知道當前每一個班級里面最高分數(shù)的同學是誰。
好現(xiàn)在可以插入幾條重復的數(shù)據(jù)。
現(xiàn)在要過濾掉重復的數(shù)據(jù),保留最新的那條記錄。一般我們假設最新的記錄是最后插入的那條,所以它的ID應該是最大的那條。
可以發(fā)現(xiàn),我們關注那個項的重復性就把它放到gourp by后面。這樣我們就可以過濾掉那些與這個項重復的記錄啦?,F(xiàn)在我們得到了我們需要的數(shù)據(jù),我們下一步就是把那些重復的數(shù)據(jù)刪除。為了區(qū)分我們過濾出來的數(shù)據(jù)記錄與原有的記錄,我們可以給id取一個別名。
下一步就是把這些關心的數(shù)據(jù)保留下來,我先把這些數(shù)據(jù)的id
提取出來。因為這個是唯一確定一條記錄的。
下面就是刪除操作了。思路就是刪除那些數(shù)據(jù)ID不在我們查詢結果里面的記錄。為了方便操作后對數(shù)據(jù)的對比,我先進行一次全部查詢。
執(zhí)行刪除操作。
最后查看結果。
總結
MySQL操作還是很靈活的,之前一直喜歡用ORM現(xiàn)在感覺直接使用MYSQL省去了很多事。如果你有更好更高效的方式就請你分享分享吧~~
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
標簽:貴港 阜陽 萍鄉(xiāng) 酒泉 雞西 張掖 衡水 AXB
巨人網(wǎng)絡通訊聲明:本文標題《MYSQL GROUP BY用法詳解》,本文關鍵詞 MYSQL,GROUP,用法,詳解,MYSQL,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。