MYSQL GROUP BY用法詳解
背景介紹
最近在設(shè)計數(shù)據(jù)庫的時候因為開始考慮不周,所以產(chǎn)生了大量的重復(fù)數(shù)據(jù)?,F(xiàn)在需要把這些重復(fù)的數(shù)據(jù)刪除掉,使用到的語句就是Group By來完成。為了進一步了解這條語句的作用,我打算先從簡單入手。
建一個測試表
查看表結(jié)構(gòu)
desc test_group
插入數(shù)據(jù)
測試開始
我想知道當(dāng)前每一個班級里面最高分?jǐn)?shù)的同學(xué)是誰。
好現(xiàn)在可以插入幾條重復(fù)的數(shù)據(jù)。
現(xiàn)在要過濾掉重復(fù)的數(shù)據(jù),保留最新的那條記錄。一般我們假設(shè)最新的記錄是最后插入的那條,所以它的ID應(yīng)該是最大的那條。
可以發(fā)現(xiàn),我們關(guān)注那個項的重復(fù)性就把它放到gourp by后面。這樣我們就可以過濾掉那些與這個項重復(fù)的記錄啦?,F(xiàn)在我們得到了我們需要的數(shù)據(jù),我們下一步就是把那些重復(fù)的數(shù)據(jù)刪除。為了區(qū)分我們過濾出來的數(shù)據(jù)記錄與原有的記錄,我們可以給id取一個別名。
下一步就是把這些關(guān)心的數(shù)據(jù)保留下來,我先把這些數(shù)據(jù)的id
提取出來。因為這個是唯一確定一條記錄的。
下面就是刪除操作了。思路就是刪除那些數(shù)據(jù)ID不在我們查詢結(jié)果里面的記錄。為了方便操作后對數(shù)據(jù)的對比,我先進行一次全部查詢。
執(zhí)行刪除操作。
最后查看結(jié)果。
總結(jié)
MySQL操作還是很靈活的,之前一直喜歡用ORM現(xiàn)在感覺直接使用MYSQL省去了很多事。如果你有更好更高效的方式就請你分享分享吧~~
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
設(shè)置MySQL自動增長從某個指定的數(shù)開始方法
下面小編就為大家?guī)硪黄O(shè)置MySQL自動增長從某個指定的數(shù)開始方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01MySQL千萬級數(shù)據(jù)的大表優(yōu)化解決方案
mysql數(shù)據(jù)庫中的表數(shù)據(jù)量幾千萬后,查詢速度會很慢,日常各種卡慢,嚴(yán)重影響使用體驗。在考慮升級數(shù)據(jù)庫或者換用大數(shù)據(jù)解決方案前,必須優(yōu)化現(xiàn)有mysql數(shù)據(jù)庫表設(shè)計和sql語句。2022-11-11MySQL主庫binlog(master-log)與從庫relay-log關(guān)系代碼詳解
這篇文章主要介紹了MySQL主庫binlog與從庫relay-log關(guān)系的相關(guān)內(nèi)容,涉及部分代碼,需要的朋友可以參考。2017-10-10Mysql數(shù)據(jù)庫編碼問題 (修改數(shù)據(jù)庫,表,字段編碼為utf8)
個人建議,數(shù)據(jù)庫字符集盡量使用 utf8(HTML頁面對應(yīng)的是utf-8),以使你的數(shù)據(jù)能很順利的實現(xiàn)遷移2011-10-10Mysql數(shù)據(jù)庫慢查詢常用優(yōu)化方式
數(shù)據(jù)庫SQL優(yōu)化是老生常談的問題,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫慢查詢常用優(yōu)化方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05MySQL如何基于Explain關(guān)鍵字優(yōu)化索引功能
這篇文章主要介紹了MySQL如何基于Explain關(guān)鍵字優(yōu)化索引功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10保證MySQL與Redis數(shù)據(jù)一致性的6種實現(xiàn)方案
這篇文章將聚焦在一個非常重要且復(fù)雜的問題上:MySQL與Redis數(shù)據(jù)的一致性,當(dāng)我們在應(yīng)用中同時使用MySQL和Redis時,如何保證兩者的數(shù)據(jù)一致性呢?下面就來分享幾種實用的解決方案,需要的朋友可以參考下2024-03-03mysql 選擇插入數(shù)據(jù)(包含不存在列)具體實現(xiàn)
mysql 選擇插入數(shù)據(jù)的文章會搜到很多本例特色是包含不存在列,具體實現(xiàn)如下,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-08