• 組函數:– 類型和文法– 使用AVG、SUM、MIN、MAX、COUNT– 在組函數中使用DISTINCT關鍵字– 組函數中的NULL值
組函數會對行集進行計算,為每個組提供一個結果。與單行函數不同,組函數用於對行集進行計算,從而為每個組提供一個結果。這些集合可以包含整個表,也可以包含表分割成的組。
• AVG • COUNT • MAX • MIN • STDDEV • SUM • VARIANCE 每個函數都接受一個參數。下表列出了在文法中可使用的選項:
SELECT group_function(column), ...FROM table[WHERE condition][ORDER BY column]; 組函數:文法組函數應放在SELECT關鍵字之後。可以使用逗號分隔多個組函數。使用組函數的準則:• DISTINCT使函數僅考慮非重複值;ALL使函數考慮每個值(包括重複值)。預設值為ALL,因此無需指定。• 使用expr參數的函數的資料類型可以是CHAR、VARCHAR2、NUMBER或DATE。•所有組函數都忽略空值。要用一個值替代空值,使用NVL、NVL2、COALESCE、CASE或DECODE函數。
可以對數字資料使用AVG和SUM函數。hr@TEST0924> SELECTAVG(salary), MAX(salary),MIN(salary), SUM(salary)FROM employees WHERE job_id LIKE '%REP%'; AVG(SALARY) MAX(SALARY) MIN(SALARY) SUM(SALARY)----------- ----------- ----------- -----------8272.72727 11500 6000 273000 可以對能夠儲存數字資料的列使用AVG、SUM、MIN和MAX函數。樣本顯示所有銷售代表的月薪平均值、最高值、最低值與總和。 使用MIN和MAX函數可以對數字、字元和日期資料類型使用MIN和MAX函數。hr@TEST0924> SELECT MIN(hire_date), MAX(hire_date) FROM employees; MIN(HIRE_DATE) MAX(HIRE_DATE)------------------ ------------------13-JAN-01 21-APR-08 可以對數字、字元和日期資料類型使用MAX和MIN函數。樣本顯示任職時間最短和最長的僱員。下面的樣本顯示在包含所有僱員的列表中,按字母順序排列姓氏時位於首位及位於末位的僱員姓氏:hr@TEST0924> SELECT MIN(last_name), MAX(last_name) FROM employees; MIN(LAST_NAME) MAX(LAST_NAME)------------------------- -------------------------Abel Zlotkey註:AVG、SUM、VARIANCE和STDDEV函數僅可用於處理數字資料類型。MAX和MIN函數不能用於處理LOB或LONG資料類型。
更多詳情見請繼續閱讀下一頁的精彩內容:
Oracle COALESCE函數
Oracle 常用函數:nvl/NULLIF/case when/wm_concat/replace
Oracle NULLIF函數
Oracle NULLIF函數的使用
Oracle nvl(),NVL2()函數介紹
Oracle中的NVL函數
關於Oracle資料庫中的NVL函數