聚合函数

名称

描述

AVG()

平均值

COUNT()

计数

MAX()

最大值

MIN()

最小值

SUM()

求和

COUNT(*),COUNT(1)与COUNT(column)的区别

COUNT(*)对行的数目进行计算,包含NULL值;
COUNT(column)对特定的列进行行数统计,不包含NULL值;
COUNT(1) 和COUNT(*)的结果是相同的;
如果数据表没有主键,那么COUNT(1)比COUNT(*)快;
如果数据表有主键,那么COUNT(column)比COUNT(*)快;
如果表只有一个字段,COUNT(*)最快;

-- 查询dept表中,数据的总记录数
SELECT COUNT(*) FROM dept;
SELECT COUNT(*) AS '数量' FROM dept;
-- 查询emp表中,奖金(comm)不为NULL的,员工的总数量
SELECT COUNT(comm) FROM emp;
-- 查询emp表中,职位(job)种类的总数量
SELECT COUNT(DISTINCT job) FROM emp;
-- 查询emp表中,员工的工资总和
SELECT SUM(sal) FROM emp;
-- 查询student表中,学员分数(score)总和
SELECT SUM(score) FROM student;
-- 查询emp表中,员工的平均工资
SELECT AVG(sal) FROM emp;
-- 查询student表中,学员的平均分数(score)
SELECT AVG(score) FROM student;
-- 查询student表中,最低分数(score)是多少
SELECT MIN(score) FROM student;
-- 查询emp表中,部门编号(deptno)是30号部门的,员工的最低工资(sal)是多少
SELECT MIN(sal) FROM emp WHERE deptno=30;
-- 查询student表中,学员的最高分数(score)
SELECT MAX(score) FROM student;
-- 查询emp表中,员工总数、工资总和、平均工资、最低工资、最高工资,并起别名显示
SELECT COUNT(*) 员工总数,SUM(sal) 工资总和,AVG(sal) 平均工资,
MIN(sal) 最低工资,MAX(sal) 最高工资 FROM emp;


作者:暄总-tester