合计、统计函数:Count Count 返回行的总数 Select count (*) | count (列名) from table_name [WHERE where_definition]
例:
# 统 计 一 个 班 级 共 有 多 少 学 生 ?
SELECT COUNT ( * ) FROM student;
# 统 计 数 学 成 绩 大 于 90 的 学 生 有 多 少 个 ?
SELECT COUNT(*) FROM student
WHERE math > 90
# 统 计 总 分 大于 250 的 人 数 有 多 少 ?
SELECT COUNT (*) FROM student
WHERE (math + english + chinese) > 250
##Count(*)和count(列)的区别: Count(*)返回满足条件的记录的行数, Count(列)统计满足条件的某列有多少个,但是会排除为null的情况 例如: CREATE TABLE T01( ‘name’ VARCHAR(20)); INSERT INTO T01 VALUES("tom"); INSERT INTO T01 VALUES("mary"); INSERT INTO T01 VALUES("jack"); INSERT INTO T01 VALUES(NULL); SELECT *FROM T01;
SELECT COUNT(*) FROM T01;
SELECT COUNT(‘name’) FROM T01;
合计函数——sum:
Sum 函 数 返 回 满 足 where 条 件 的 行 的 和
一 般 使 用 在 数 值 列
Select sum (列名){,sum(列名)....} from tablename
[WHERE where_definition]
例如:
#统计一个班级数学总成绩
SELECT SUM (math) FROM student;
#统计一个班级语文,数学,英语总成绩
SELECT SUM (math) AS math_total score;
注 意 : sum 仅 对 数 值 起 作 用 , 否 则 会 报 错 。
注 意 : 对 多 列 求 和 , “ ,” 号 不 能 少 。
合 计 函 数 ——avg AVG 函 数 返 回 满 足 where 条 件 的 一 列 的 平 均 值 Select avg ( 列名 ) { , avg( 列名 )...} from tablename [WHERE where_definition] 例如: # 求 一 个 班 级 数 学 平 均 分 ? SELECT AVG(math) FROM student; # 求 一 个 班 级 总 分 平 均 分 SELECT AVG(math + english + chinese) FROM student;
合 计 函 数 ——Max/min
Max / min 函 数 返 回 满 足 where 条 件 的 一 列 的 最 大 / 最 小 值
Select max(列名) from tablename
[WHERE where_definition]
例如:
#求 班 级 最 高 分 和 最 低 分 ( 数 值 范 围 在 统 计 中 特 别 有 用 )
SELECT MAX(math + english + chinese) ,MIN(math + english + Chinese)
FROM student;
select • by SELECT columnl , column2, column3..FROM table group by coltmn ; SELECT coltmnl , coltmn2. column3 FROM table group by column having ... group by 用于对查询结果分组统计 having 子句用于限制分组结果显示
例如:
# 显 示 每 种 岗 位 的 雇 员 总 数 、 平 均 了 资 SELECT COUNT(*) , AVG(sa1) , job FROM emp GROUP BY job ;
