sum 函數在 oracle 中計算一系列值的總和。語法:sum(expression),其中 expression 為數值表達式或列名。它可以對一列中的所有行值進行求和,或通過 where 子句對滿足特定條件的行進行求和。sum 函數返回 number 類型的值,即使參數為負數,也會返回正數。它支持高級用法,如與 group by 和 having 子句結合使用,以及作為窗口函數使用。
Oracle 中 SUM 函數
定義
SUM 函數在 Oracle 中用于計算一組值或表達式的總和。
語法
<code>SUM(expression)</code>
登錄后復制
其中:
expression:要計算總和的數值表達式或列名。
用法
SUM 函數可以對一列中的所有行值進行求和。
也可以在 WHERE 子句中使用 SUM 函數,對滿足特定條件的行進行求和。
SUM 函數的返回值為數據類型 NUMBER。
示例
<code>-- 計算所有員工的薪水總和 SELECT SUM(salary) FROM employees; -- 計算部門 ID 為 10 的所有員工的薪水總和 SELECT SUM(salary) FROM employees WHERE department_id = 10; -- 計算大于 5000 美元的薪水總和 SELECT SUM(salary) FROM employees WHERE salary > 5000;</code>
登錄后復制
注意事項
如果 SUM 函數的參數為 NULL,則返回值為 NULL。
如果 SUM 函數的參數為負數,則返回值仍為正數。
SUM 函數可以同時應用于數字和字符串。如果要對字符串進行求和,則字符串必須用單引號括起來。
高級用法
除了基本用法之外,SUM 函數還支持一些高級用法:
GROUP BY 子句:SUM 函數可與 GROUP BY 子句一起使用,對分組數據進行求和。
HAVING 子句:SUM 函數可與 HAVING 子句一起使用,對滿足特定條件的分組進行求和。
窗口函數:SUM 函數可作為窗口函數使用,計算窗口內的值總和。