程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> DISTINCT和GROUP BY的區別,distinctgroupby

DISTINCT和GROUP BY的區別,distinctgroupby

編輯:MySQL綜合教程

DISTINCT和GROUP BY的區別,distinctgroupby


DISTINCT和GROUP BY的區別

> DISTINCT是取出查詢結果中的重復項;而GROUP BY是按某項進行分組顯示。前者的目的就是要去除結果中相同的項,後者則主要用於對結果歸組,常和聚集函數等一起使用。

DISTINCT操作只需要找出所有不同的值就可以了。而GROUP BY操作還要為其他聚集函數進行准備工作。從這一點上將,GROUP BY操作做的工作應該比DISTINCT所做的工作要多一些。

除此之外,基本上看不到DISTINCT和GROUP BY(沒有聚集函數的情況)有什麼區別,而且從執行效率上也看不到明顯的差異;

和GROUP BY一起使用的函數有:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

> 例如:
SELECT studentId, SUM(score)
FROM studentScores
GROUP BY studentId

如上句子可以用於計算每個學生所有科目的成績之和。

 

> 因此,兩者面向的應用其實不同,如果單單為了去除重復項,推薦使用DISTINCT。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved