mysql中使用多行函数_mysql笔记_分组函数_聚合函数_多行处理函数

1.分组函数:

count  (统计,取得记录数)

sum  (求和)

avg  (取平均)

max  (取最大的数)

min  (取最小的数)

注意:分组函数自动忽略空值,不需要手动加where条件排除空值。

select count(*)from emp where xxx    (符合条件的所有记录总数)

select count(comm)from emp       (comm这个字段中不为空的元素总数)

注意:分组函数不能直接使用在where关键字后面

distinct  (去除重复记录,distinct只能出现在所有字段的最前方)

分组查询:

1.分组查询设计到的两个子句是:

group by

having

2.group by:

order by【表示通过哪个或者哪些字段进行排序】

group by【表示通过哪个或者哪些字段进行分组】

重点:若一条DQL语句当中有group by 子句,那么select关键字后面只能跟参与分组的字段和分组函数。

where关键字后面不能直接使用分组函数。

分组函数必须在分组完成之后执行,而分组需要group by,而group by在where后执行。

3.having:

having和where功能都是为了完成数据的过滤

where 和having后面都添加条件

where在group by之前完成过滤

having在group by 之后完成过滤

原则:

尽量在where中过滤,无法过滤的数据,通常都是需要先分组之后再过滤,这个时候可以选择使用having。

效率问题。

一个完整的DQL语句的总结:

select

...

from

...

where

...

group by

...

having

...

order by

...

第一:以上的关键字顺序不能变,严格遵守。

第二:执行顺序:

1.from      (从某张表中检索数据)

2.where    (经过某条件进行过滤)

3.group by   (然后分组)

4.having    (分组之后补满意再过滤)

5.select    (查询出来)

6.order by   (排序输出)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值