在ANSI SQL中,聚合函数用于对一组值执行计算,并返回单个值。这些函数通常用于SELECT语句的SELECT子句中,以对查询结果集的某些列进行汇总。以下是一些常用的聚合函数及其用法:
COUNT()COUNT(*) 计算所有行,COUNT(column_name) 计算指定列非NULL值的数量。SELECT COUNT(*) FROM employees; -- 计算employees表中的总行数
SELECT COUNT(salary) FROM employees WHERE department_id = 10; -- 计算部门ID为10的员工数量
SUM()SUM(column_name) 计算指定列的所有值的总和。SELECT SUM(salary) FROM employees; -- 计算所有员工的工资总和
AVG()AVG(column_name) 计算指定列的平均值。SELECT AVG(salary) FROM employees; -- 计算所有员工的平均工资
MIN()MIN(column_name) 找出指定列的最小值。SELECT MIN(salary) FROM employees; -- 找出所有员工中的最低工资
MAX()MAX(column_name) 找出指定列的最大值。SELECT MAX(salary) FROM employees; -- 找出所有员工中的最高工资
GROUP BYSELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id; -- 按部门ID分组,并计算每个部门的员工数量
HAVINGGROUP BY一起使用,以便对分组后的结果进行筛选。SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 10; -- 只显示员工数量大于10的部门
SELECT department_id, AVG(salary) AS avg_salary, COUNT(*) AS total_employees
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000; -- 按部门分组,计算每个部门的平均工资和员工总数,并筛选出平均工资大于5000的部门
通过这些聚合函数和子句,你可以对数据库中的数据进行复杂的汇总和分析。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。