mysql学习-group by的使用

Posted luoh1016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql学习-group by的使用相关的知识,希望对你有一定的参考价值。

业务场景一:查询主表并带出与主表关联的子表的个数

实现方法:分组group by 子表外键

sql如下:

 1 select 
 2   main.id id,
 3   main.name name,
 4   IFNULL(sub.num,‘0‘) num
 5 from 
 6 xx_main main
 7 left join(
 8    select count(1) num,main_id from xx_sub group by main_id   
 9 )sub ON main.id = sub.main_id
10 where main.id=#{id}

运行结果如下:

id name num
89 孩子王 3
90 流星 1

 

分析:GROUP BY语句根据一个或多个列对结果集进行分组,在分组的列上我们可以使用COUNT,SUM,AVG等函数


结束语:个人感悟,不足之处还望各位不吝指教,谢谢!

 


以上是关于mysql学习-group by的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之旅—Mysql数据库之表操作(where+group by+having+order by)

MySql学习 —— where / having / group by / order by / limit 简单查询

mysql学习第9篇:MySQL 5.7.9版本sql_mode=only_full_group_by问题

学习笔记 MYSQL报错注入(count()rand()group by)

小白学习MySQL - only_full_group_by的校验规则

MYSQL优化-之GROUP BY