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的数据总数量

 

posted @ 2020-11-20 12:28  棉花糖88  阅读(66)  评论(0)    收藏  举报