Mysql: distinct去重 group by的區別

distinct簡單來講就是用來去重的,而group by的設計目的則是用來聚合統計的,二者在可以實現的功能上有些相同之處,但應該仔細區分。函數

單純的去重操做使用distinct,速度是快於group by的spa

distinct支持單列、多列的去重方式。 
單列去重的方式簡明易懂,即相同值只保留1個。 
多列的去重則是根據指定的去重的列信息來進行,即只有全部指定的列信息都相同,纔會被認爲是重複的信息。設計

group by使用的頻率相對較高,但正如其功能同樣,它的目的是用來進行聚合統計的,雖然也可能實現去重的功能,但這並非它的長項。select

區別:
1)distinct只是將重複的行從結果中出去;
group by是按指定的列分組,通常這時在select中會用到聚合函數。

2)distinct是把不一樣的記錄顯示出來。
group by是在查詢時先把紀錄按照類別分出來再查詢。

group by 必須在查詢結果中包含一個彙集函數,而distinct不用。統計

相關文章
相關標籤/搜索