講課pptles05_分組函數_第1頁
講課pptles05_分組函數_第2頁
講課pptles05_分組函數_第3頁
講課pptles05_分組函數_第4頁
講課pptles05_分組函數_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、高級軟件人才實作培訓專家!分組函數講師:佟 剛北京傳智播客教育高級軟件人才實作培訓專家!目標通過本章學習,您將可以: 了解組函數。 描述組函數的用途。 使用GROUPBY 子句數據分組。 使用HAVING 子句過濾分組結果集。北京傳智播客教育 北高級軟件人才實作培訓專家!什么是分組函數分組函數作用于一組數據,并對一組數據返回一個值。EMPLOYEES表 EMPLOYEES中的工資最大值京傳智播客教育 高級軟件人才實作培訓專家!組函數類型 AVG COUNT MAX MIN STDDEV

2、SUM北京傳智播客教育 高級軟件人才實作培訓專家!組函數語法SELECT FROM WHERE GROUP ORDERcolumn,table,.condition column column;BY BY北京傳智播客教育 group_function(column)高級軟件人才實作培訓專家!AVG(平均值)和 SUM (合計)函數可以對數值型數據使用AVG 和 SUM 函數。SELECTFROM WHEREemployeesjob_idLIKE%REP%;北京傳智播客教育 AVG(salary), MAX(salar

3、y), MIN(salary), SUM(salary)高級軟件人才實作培訓專家!MIN(最小值) 和 MAX(最大值)函數可以對任意數據類型的數據使用 MIN 和 MAX 函數。SELECT FROMMIN(hire_date), employees;MAX(hire_date)北京傳智播客教育 高級軟件人才實作培訓專家!COUNT(計數)函數COUNT(*) 返回表中記錄總數。SELECTFROMCOUNT(*)employeesdepartment_idWHERE=50;北京傳智播客教育 高級軟件人才實作培訓專家!COUNT(計數)函數

4、 COUNT(expr) 返回 expr不為空的記錄總數。SELECTCOUNT(commission_pct)FROM WHEREemployees department_id=80;北京傳智播客教育 高級軟件人才實作培訓專家!DISTINCT 關鍵字 COUNT(DISTINCT記錄總數expr) 返回 expr非空且不重復的SELECT FROMCOUNT(DISTINCTemployees;department_id)北京傳智播客教育 高級軟件人才實作培訓專家!組函數與空值組函數忽略空值。SELECT FROMemployees;北京

5、傳智播客教育 AVG(commission_pct)高級軟件人才實作培訓專家!在組函數中使用NVL函數NVL函數使分組函數無法忽略空值。SELECT FROM)employees;北京傳智播客教育 AVG(NVL(commission_pct, 0)高級軟件人才實作培訓專家!分組數據EMPLOYEES44009500求出EMPLOYEES表中各部門的 平均工資6400350010033北京傳智播客教育 高級軟件人才實作培訓專家!GROUP BY 子句語法分組數據:SELECT FROM WHEREcolumn, gr

6、oup_function(column) tableconditionORDERBYcolumn;可以使用GROUP BY 子句將表中的數據分成若干組北京傳智播客教育 GROUP BYgroup_by_expression高級軟件人才實作培訓專家!GROUP BY 子句在SELECT 列表中所有未包含在組函數中的列都應該包含在 GROUPBY 子句中。SELECTFROMdepartment_id,)employeesGROUPBYdepartment_id;北京傳智播客教育 AVG(salary高級軟件人才實作培訓專家!GROUP BY 子

7、句包含在 GROUPBY 子句中的列不必包含在SELECT 列表中SELECT FROMAVG(salary) employeesGROUPBYdepartment_id;北京傳智播客教育 北京傳高級軟件人才實作培訓專家!使用多個列分組EMPLOYEES使用多個列進行分組智播客教育 高級軟件人才實作培訓專家!BY 子句中包含多個列在GROUPSELECT FROMdepartment_id employeesdept_id, job_id,SUM(salary);北京傳智播客教育 GROUP BY departmen

8、t_id, job_id高級軟件人才實作培訓專家!非法使用組函數所用包含于SELECT 列表中,而未包含于組函數中的列都必須包含于 GROUP BY 子句中。SELECT FROMdepartment_id, COUNT(last_name) employees;GROUP BY 子句中缺少列北京傳智播客教育 SELECT department_id, COUNT(last_name)*ERROR at line 1:ORA-00937: not a single-group group function高級軟件人才實作培訓專家!非法使用組函數 不能在 WHERE 子

9、句中使用組函數。 可以在HAVING 子句中使用組函數。SELECT FROM WHEREdepartment_id, AVG(salary) employeesAVG(salary) 8000 department_id;GROUPBYWHEREAVG(salary) 8000*at line 3:ERRORORA-00934: group function isnot allowedhereWHERE 子句中不能使用組函數北京傳智播客教育 高級軟件人才實作培訓專家!過濾分組EMPLOYEES部門最高工資比 10000 高的部門北京傳智播客教育 www.itcast

10、.cn高級軟件人才實作培訓專家!過濾分組: HAVING 子句使用 HAVING 過濾分組:1. 行已經被分組。2. 使用了組函數。3. 滿足HAVING 子句中條件的分組將被顯示。SELECT FROM WHERE GROUPcolumn, group_function tablecondition group_by_expressionBYORDERBYcolumn;北京傳智播客教育 HAVINGgroup_condition高級軟件人才實作培訓專家!HAVING 子句SELECT FROM GROUP BY HAVINGdepartment_id, MAX(salary) employeesdepartment_idMAX(salary)10000;北京傳智播客教育 高級軟件人才實作培訓專家!嵌套組函數顯示平均工資的最大值SELECT FROMemployeesdepartment_id;GROUPBY北京傳智播客教育 MAX(AVG(salary)高級軟件人才實作培訓專家!總結通過本章學習,您已經學會: 使用組函數。 在查詢中使用 GROUP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論