您可以使用基本的SQL查詢從數據庫檢索數據,但這通常不能提供足夠的智能來滿足業務需求。 SQL還為您提供了根據行級屬性對查詢結果進行分組的功能,以便使用GROUP BY子句應用聚合函數。 例如,考慮一個由以下屬性組成的訂單數據表:
- 訂單ID - 唯一標識每個訂單的數字值。 該字段是數據庫的主鍵 。
- 銷售員 - 提供銷售產品的銷售人員姓名的文本值。 該字段是包含人事信息的另一個表的外鍵 。
- CustomerID - 與客戶帳號相對應的數值。 該字段也是一個外鍵,引用包含客戶帳戶信息的表。
- 收入 - 與銷售金額相對應的數值。
當需要為銷售人員進行績效評估時,訂單表中包含可用於該評估的有價值的信息。 例如,在評估Jim時,可以編寫一個簡單的查詢來檢索Jim的所有銷售記錄:
SELECT * FROM Orders WHERE Salesperson LIKE'Jim'這將從數據庫中檢索與Jim所做銷售相對應的所有記錄:
OrderID銷售員CustomerID收入12482 Jim 182 40000 12488 Jim 219 25000 12519 Jim 137 85000 12602 Jim 182 10000 12741 Jim 155 90000 您可以查看這些信息並執行一些手動計算來提供性能統計信息,但這將是一項繁瑣的任務,您需要為公司中的每位銷售人員重複該任務。 相反,您可以使用單個GROUP BY查詢替換此工作,該查詢可計算公司中每個銷售人員的統計信息。 您只需編寫查詢並指定數據庫應根據銷售人員字段對結果進行分組。 然後,您可以使用任何SQL聚合函數對結果執行計算。
這是一個例子。 如果您執行了以下SQL語句:
你會得到以下結果:
銷售員總計最小最大平均人數Jim 250000 10000 90000 50000 5 Mary 342000 24000 102000 57000 6 Bob 118000 4000 36000 39333 3正如您所看到的,這個功能強大的函數允許您從SQL查詢中生成小報告,為執行性能評估的經理提供有價值的商業智能。 GROUP BY子句通常用於數據庫中,是DBA的一大訣竅。