您好,登錄后才能下訂單哦!
distinct簡單來說就是用來去重的,而group by的設計目的則是用來聚合統計的,兩者在能夠實現的功能上有些相同之處,但應該仔細區分。
單純的去重操作使用distinct,速度是快于group by的。
distinct支持單列、多列的去重方式。
單列去重的方式簡明易懂,即相同值只保留1個。
多列的去重則是根據指定的去重的列信息來進行,即只有所有指定的列信息都相同,才會被認為是重復的信息。
group by使用的頻率相對較高,但正如其功能一樣,它的目的是用來進行聚合統計的,雖然也可能實現去重的功能,但這并不是它的長項。
區別:
1)distinct只是將重復的行從結果中出去;
group by是按指定的列分組,一般這時在select中會用到聚合函數。
2)distinct是把不同的記錄顯示出來。
group by是在查詢時先把紀錄按照類別分出來再查詢。
group by 必須在查詢結果中包含一個聚集函數,而distinct不用。
到此這篇關于Mysql中distinct與group by的去重方面的區別的文章就介紹到這了,更多相關distinct與group by的區別內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。