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

sql group by 用法與group by 語法

編輯:MySQL綜合教程

在SQL的 語句一起使用同樣數目的SQL聚合函數提供分組的某些數據庫教程表列(第結果數據集方法)。

GROUP BY

 

 

最好的方法如何以及何時使用SQL的GROUP BY語句的例子,這是我們要做的事情。

下面的數據庫表稱為EmployeeHours存放每一個公司員工的日常時間:

Employee Date Hours John Smith 5/6/2004 8 Allan Babel 5/6/2004 8 Tina Crown 5/6/2004 8 John Smith 5/7/2004 9 Allan Babel 5/7/2004 8 Tina Crown 5/7/2004 10 John Smith 5/8/2004 8 Allan Babel 5/8/2004 8 Tina Crown 5/8/2004 9

如果公司經理想要得到的所有員工的所有工作時間疊加,他需要執行下列SQL語句:

SELECT SUM (Hours)
FROM EmployeeHours

但是,如果經理想要得到他的員工為每個所有時間的總和?
為此,他需要修改他的SQL查詢和使用SQL的GROUP BY語句:

SELECT Employee, SUM (Hours)
FROM EmployeeHours
GROUP BY Employee

The result of the SQL expression above will be the following:

Employee Hours John Smith 25 Allan Babel 24 Tina Crown 27

 

正如你可以看到,我們只為每個員工入職,因為我們是由雇員列分組。

該SQL的GROUP BY子句可以用於其他SQL聚合函數,例如的SQL的AVG:

SELECT Employee, AVG(Hours)
FROM EmployeeHours
GROUP BY Employee

Employee Hours John Smith 8.33 Allan Babel 8 Tina Crown 9

 在我們的雇員表的日期專欄中,我們也可以組,找出什麼是對每個工作的日期到表總時數:

SELECT Date, SUM(Hours)
FROM EmployeeHours
GROUP BY Date

Here is the result of the above SQL expression:

Date Hours 5/6/2004 24 5/7/2004 27 5/8/2004 25

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