6、1_分组函数
1)前置知识
在数据库数据运算中 只要有NULL参与了运算 那运算结果就为NULL,必须记住
多行处理函数 = 分组函数 = 聚合函数 单行处理函数:输入几行 输出几行。 多行处理函数:输入多行 输出一行。[1 count()计数] [2 sum()求和] [3 avg()取平均值] [4 max()取最大值] [5 min()取最小值]
2)基本应用:
select sum(sal) from emp;//找出工资总和 select max(sal) from emp;//找出最高工资 select min(sal) from emp;//找出最低工资 select avg(sal) from emp;//找出平均工资 select count(*) from emp;//找出总人数
//分组函数可以组合使用
SELECT COUNT(*),MAX(age),MIN(age) FROM table_name;
3)本节重要知识点
分组函数自动忽略空NULL
//因为分组函数会过滤null,所以后面的where条件就是多余的 SELECT SUM(field) FROM table_name WHERE field IS NOT NULL; //where条件是画蛇添足
分组函数不能直接出现在where子句中
//需求:找出工资高于平均工资的员工 SELECT sal FROM table_name WHERE sal>AVG(sal);//错误提示:无效的使用了分组函数 //原因:group by 是在where执行完成后才执行的,分组函数是在group by分完组之后才执行的
count() 和 count(具体字段名)的区别?
count(*); //统计的是总记录条数,和某个字段没有关系
count(name); //统计的是name字段中不为NULL的数据总数量

浙公网安备 33010602011771号