distinct簡(jiǎn)單來(lái)說(shuō)就是用來(lái)去重的,而group by的設(shè)計(jì)目的則是用來(lái)聚合統(tǒng)計(jì)的,兩者在能夠?qū)崿F(xiàn)的功能上有些相同之處,但應(yīng)該仔細(xì)區(qū)分。
創(chuàng)新互聯(lián)建站公司2013年成立,先為麻栗坡等服務(wù)建站,麻栗坡等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為麻栗坡企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
單純的去重操作使用distinct,速度是快于group by的。
distinct支持單列、多列的去重方式。
單列去重的方式簡(jiǎn)明易懂,即相同值只保留1個(gè)。
多列的去重則是根據(jù)指定的去重的列信息來(lái)進(jìn)行,即只有所有指定的列信息都相同,才會(huì)被認(rèn)為是重復(fù)的信息。
group by使用的頻率相對(duì)較高,但正如其功能一樣,它的目的是用來(lái)進(jìn)行聚合統(tǒng)計(jì)的,雖然也可能實(shí)現(xiàn)去重的功能,但這并不是它的長(zhǎng)項(xiàng)。
區(qū)別:
1)distinct只是將重復(fù)的行從結(jié)果中出去;
group by是按指定的列分組,一般這時(shí)在select中會(huì)用到聚合函數(shù)。
2)distinct是把不同的記錄顯示出來(lái)。
group by是在查詢時(shí)先把紀(jì)錄按照類(lèi)別分出來(lái)再查詢。
group by 必須在查詢結(jié)果中包含一個(gè)聚集函數(shù),而distinct不用。
到此這篇關(guān)于MySQL中distinct與group by的去重方面的區(qū)別的文章就介紹到這了,更多相關(guān)distinct與group by的區(qū)別內(nèi)容請(qǐng)搜索創(chuàng)新互聯(lián)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持創(chuàng)新互聯(lián)!