mysql数据库分组函数_数据库(分组函数)

分组函数:对表中一组记录进行操作,每次只返回一个结果。 常用的函数有:MIN,MAX,SUM,AVG,COUNT等 MIN和MAX返回每组的最小和最大。 eg:select min(salary),max(salary) from employees; SUM和AVG函数分别返回总和平均。 eg:select sum(salary),avg(salary)

分组函数:对表中一组记录进行操作,每次只返回一个结果。

常用的函数有:MIN,MAX,SUM,AVG,COUNT等

MIN和MAX返回每组的最小值和最大值。

eg:select min(salary),max(salary) from employees;

SUM和AVG函数分别返回总和平均值。

eg:select sum(salary),avg(salary) from emloyees;

count函数主要返回每组的记录条数。

eg:select count(*) from employees where job_id=' ';

GROUP BY...HAVING 子句的使用。

组函数忽略空值,可以使用NVL,NVL2,COALESCE函数处理空值

eg:相同职位相同经理的员工的平均工资。

select job_id,manager_id,avg(salary)

from employees

group by job_id,manager_id

*GROUP BY 子句注意问题:

1.GROUP BY 子句后面的列可以不再SELECT 语句中出现。

2.SELECT 子句中出现的 “非分组函数 ” 必须在GROUP BY子句中出现

HAVING子句。

错误示例:

select job_id,max(salary)

from employees

where max(salary)>=8888

group by job_id;

原因是查询语句的执行顺序是:from where group by select order by

正确示例:

select job_id,max(salary)

from employees

group by job_id

having max(salary)>8888;

总结SELECT语句执行过程:

– 通过FROM子句中找到需要查询的表;

– 通过WHERE子句进行非分组函数筛选判断;

– 通过GROUP BY子句完成分组操作;

– 通过HAVING子句完成组函数筛选判断;

– 通过SELECT子句选择显示的列或表达式及组函数;

– 通过ORDER BY子句进行排序操作。

eg:

select department_id,max(salary)

from employees

where department_id between 30 and 90

group by department_id

having max(salary)>8888

order by max(salary);



f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值