首页 > 编程知识 正文

mysql中常用的sql函数,mysql聚合函数运算

时间:2023-05-04 02:11:02 阅读:15289 作者:3873

来自上一个博客《mysql简单查询》:http://blog.csdn.net/zui Wuyuan/article/details/39349611的文章实例数据表

一、聚合函数

也称为集合函数、结合函数

求出所有数据数

计数不计数空值,计数为记录数selectcount(comm ) FROM emp; #查询emp表comm的总数

选择计数(* ) FROM emp; #查询emp表中的行记录总数

选择计数(distinct deptno ) FROM emp; #查询不重复的深度记录总数

求平均值,忽略null值

选择avg (sal ) FROM emp;

选择avg (comm ) FROM emp; # 2200/4=550

求和

selectsum(sal ) FROM emp;

求出最大值

选择最大(sal ) FROM emp;

#求出最小值

选择最小(sal ) FROM emp;

二.分组

Group by词法的真正作用是与各种聚合函数配合使用,用于对来自查询的数据进行分组

分组是指将该列具有相同值的多个记录视为一组记录,最后只输出一个记录

分组函数忽略空值

结果集隐式按升序排序。 order by词法/**

GROUP BY可以根据你的分组条件对数据进行分组,然后进行统计

其实,我们将部门分组,统计分组后的聚合值(平均、最大、最小等)

*/

查询每个部门的平均工资

选择深度,AVG(sal ) FROM emp GROUP BY deptno;

#查询每个部门的员工人数

选择深度,count(* ) FROM emp GROUP BY deptno;

咨询各部门的总体工资情况

如果select语句中的列不使用组函数,则必须显示在group by词法中

出现在group by词法中的列不一定出现在select语句中

选择深度、AVG(sal )、max (sal )、min (sal )、sum (sal )、COUNT(1)1) ) )。

来自Emp

组依据深度;

#每个部门每个职位的平均工资

选择深度,作业,AVG(sal ) FROM emp GROUP BY deptno,作业;

三.限定组的结果

HAVING词法用于有条件地筛选分组的结果

查询部门平均工资超过2000的;

#分组后附加条件:使用having

# where和having都用于条件限定,但having只能在group by之后使用

选择深度、AVG(sal )、max (sal )、min (sal )、sum (sal )、COUNT(1)1) ) )。

来自Emp

#whereavg(sal ) 2000; 此语句报告错误,因为where词法不允许使用分组函数

组按深度

哈维宁视听(sal ) 2000;

where和having的区别:

where在分组之前进行条件过滤

having词法分组后进行条件过滤

where词法不能使用聚合函数

having词法可以使用局、函数和一般的过滤条件

四)限定查询结果

可以在select语句末尾使用limit来限制查询结果返回的起始记录和总数

select.limit offset_start,row_count;

offset_start:首先返回记录行的偏移,默认值为0

row_count :要返回记录行的最大数量SELECT * FROM emp LIMIT 5; 搜索前五条记录

select * from EMP limit 5,10; 从第#6行开始,记录行6-15 (因为默认值为0,所以这里的5只是第6行的记录) ) ) ) ) ) ) ) ) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。