mysql 子查询分组_mysql之子查询与分组查询

有时候需要对查询结果进行分组,以便于我们对分组后的数据进行计算,可以使用数据分组操作

数据分组查询 group by

需要注意的是group by只是创建分组、并不能保证分组里面的数据排序。如果需要排序,可以使用order by

group by字句必须出现在where字句之后,order by之句之前

来看下分组实例,我指定了两个列,列名为accmplish_num是我想要分组的字段,

而别名为num的字段是对分组后的数据进行统计的总和,也就是说,我这个表里面accmplish_num为0出现了8次。

4af5433da469542ba11081e40e4b72b4.png

除了上面这种分组数据外,还可以对分组进行指定条件

过滤分组    使用having字句

06d1bf9f758d98a6112b87c074e3988c.png

where与having一起使用过滤

在他们一起使用的时候,注意先执行where后面的条件,再进行创建分组,统计,然后再统计num大于1的数据

983189ec7c71e2221ed5a6b3f3ddafc6.png

子查询

说明:就是嵌套在其他字句查询里面的查询

需求:我们知道订单表中的线路line_id,想要找出线路为15的乘客的所有信息

看下面的例子,先找出线路line_id=15的订单表中的所有乘客手机号,这个就是括号里面的子查询

然后在乘客表里面找出mobile在子查询中的所有乘客的信息,也就满足了我们需求,当然这只是简单的一层嵌套,你也可以使用多层,

但是并不建议嵌套太多,因为这样做在工作中影响查询效率

5f3f7cf6c977de185c66272e60660b34.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值