Oracle 数据库提供了许多聚集函数,这些函数可以对一组值执行计算并返回单个值。以下是一些常用的 Oracle 聚集函数:
- AVG() - 返回某列的平均值。
SELECT AVG(salary) FROM employees;
- COUNT() - 返回某列的行数。
SELECT COUNT(employee_id) FROM employees;
- MAX() - 返回某列的最大值。
SELECT MAX(salary) FROM employees;
- MIN() - 返回某列的最小值。
SELECT MIN(salary) FROM employees;
- SUM() - 返回某列的总和。
SELECT SUM(salary) FROM employees;
- STDDEV() - 返回某列的标准偏差。
SELECT STDDEV(salary) FROM employees;
- VARIANCE() - 返回某列的方差。
SELECT VARIANCE(salary) FROM employees;
- UNIQUE() - 返回某列的唯一值的数量。
SELECT COUNT(UNIQUE(department_id)) FROM employees;
- GROUP_CONCAT() - 返回由分隔符连接的字符串结果,这些字符串来自某个组的列值。这个函数在 MySQL 中更为常见,但在 Oracle 中,你可能需要使用
LISTAGG()
函数来达到相同的效果。
SELECT LISTAGG(last_name, ', ') WITHIN GROUP (ORDER BY last_name)
FROM employees
GROUP BY department_id;
- CORRELATION() - 返回两个列之间的相关系数。
SELECT CORRELATION(salary, commission_pct) FROM employees;
- COVAR_POP() - 返回两个列的总体协方差。
SELECT COVAR_POP(salary, commission_pct) FROM employees;
- COVAR_SAMP() - 返回两个列的样本协方差。
SELECT COVAR_SAMP(salary, commission_pct) FROM employees;
这些函数在 SQL 查询中非常有用,尤其是在进行数据分析和报告时。使用它们,你可以轻松地提取和呈现有关数据集的统计信息。