mysql之子查询与分组查询


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

数据分组查询 group by

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

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

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

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

 

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

过滤分组    使用having字句

 

 where与having一起使用过滤

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

 

 子查询

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

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

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

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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM