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等函数

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

时间: 2024-10-07 14:24:13

mysql学习(一)-group by的使用的相关文章

MySql学习笔记(一)之DQL常用查询

MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文

Mysql 学习1

? Mysql学习 ? 一.数据库 ? 1 数据库概念(了解) 1.1 什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先: 可存储大量数据: 方便检索: 保持数据的一致性.完整性: 安全,可共享: 通过组合分析,可产生新数据. ? 1.2 数据库的发展历程 没有数据库,使用磁盘文件存储数据: 层次结构模型数据库: 网状结构模型数据库: 关系结构模型数据库:使用二维表格来存储数据: 关系-对象模型数据库: ? MySQL就是关系型数据库! ? 1.3 常见数据库 Oracl

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

mysql 学习笔记 第二天

插入表格数据: Insert into table_name set columns_1=value1,columns_2=value2,对于没有赋值的列,将会取默认值,并且这个方法只能一次插入一个数据 利用文本方式插入数据: Load data local infile‘径’into table table_name: Select 的通用形式: Select columns from table or tables where conditions;from一般不能少的,但是当查询的时候没有

Mysql学习(一)文件

1.参数文件 2.日志文件 错误日志文件   xxx.err文件(xxx一般代表主机名) 慢查询日志文件  1).一般是设置一个阈值,将执行时间超过该值的sql语句记录到慢查询日志里面 需要设置long_query_time参数(5.1版本后单位微秒),开关为log_slow_queries 2) 如果sql语句不走索引,也可以记录到慢查询日志 开关为log_queries_not_using_indexes 分析指令:mysqldumpslow 5.1版本以后可以放到mysql.show_lo

我的MYSQL学习心得(十一)

原文:我的MYSQL学习心得(十一) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十二) 这一篇<我的MYSQL学习心得(十一)>将会讲解MYSQL的视图 使用视图的理由是什么? 1.安

MySQL学习笔记—SQL服务器模式汇总

MySQL学习笔记-SQL服务器模式汇总 MySQL服务器可以以不同的SQL模式来操作,并且可以为不同客户端应用不同模式.这样每个应用程序可以根据自己的需求来定制服务器的操作模式. 模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查.这样可以更容易地在不同的环境中使用MySQL,并结合其它数据库服务器使用MySQL. 你可以用–sql-mode="modes"选项启动mysqld来设置默认SQL模式.如果你想要重设,该值还可以为空(–sql-mode ="&q

我的MYSQL学习心得(十六)

我的MYSQL学习心得(十六) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(十三) 我的MYSQL学习心得(十四) 我的MYSQL学习心得(十五) 一步一步

我的MYSQL学习心得(七)

我的MYSQL学习心得(七) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MYSQL学习心得(七)>也是一样,相同的地方略略带过,不同的地方我会给出例子,谢谢大家的支持o(