1. 程式人生 > 資料庫 >Mysql中distinct與group by的去重方面的區別

Mysql中distinct與group by的去重方面的區別

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的區別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!