MySQL Group By 实例讲解(二)
mysql group by使用方法实例讲解
MySQL中GROUP BY语句用于对某个或某些字段查询分组,并返回这个字段重复记录的第一条,也就是每个小组(无排序)里面的第一条。
本文章通过实例向大家介绍mysql group by使用方法和需要注意的地方,感兴趣的朋友可以参考一下。
现在有这样一个数据表 book

group by基本实例
我们对city字段进行分组查询
SELECT * FROM book GROUP BY city
结果如下:

可以看出,group by是根据city来进行分组的,因为book表中有三个不同的city值,所以会出现三行数据,并且相同的city只返回结果集中的第一条数据。

group by多个字段
下面来看一下group by后面跟多个字段
SELECT * FROM book GROUP BY city,last_name
结果如下:

group by后面跟多个字段如何理解呢?
GROUP BY city, last_name是指所有city, last_name项只要有一个不相同就会分一个组的。因为上面book表中第二行数据与第三行数据的city和last_name相同,所以会舍弃其中的一行数据,一般都是舍弃后面一行,所以第二行数据保留了。如下图(先进行city分组如红色,在进行last_name分组如蓝色,然后都取第一条数据):

group by与聚合函数
一般情况下,group by都会与聚合函数一起使用,以达到复杂的数据查询要求。
比如我们要根据city分组后,获取每一组有多少条数据
SELECT *,count(*) FROM book GROUP BY city
结果为:

group by having
group by having用于指示被选择的行必须满足的条件
比如,我们根据city分组,但我们只需要查询出每一组的数据条数大于1的。
SELECT *,count(*) FROM book GROUP BY city having count(*)>1
结果集为:

原文地址 http://www.manongjc.com/article/1065.html
在原文基础上有改动
MySQL Group By 实例讲解(二)的更多相关文章
- MySQL Group By 实例讲解(一)
MySQL Group By 实例讲解 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GRO ...
- Maven聚合与继承的实例讲解(二)
继续上一节讲Maven的内容,我们这个节继续讲Maven继承和聚合的其他内容. 现在我们新建一个实例来测试Maven有关于聚合的部分 测试开始 一.建立以pom为packaging的项目 ...
- jQuery插件ImgAreaSelect 实例讲解二
在上一篇随笔http://www.cnblogs.com/chenguanai/p/6883401.html中,已经了解了头像的上传预览和裁剪功能:那么这次就再看一下imgareaselect的裁剪功 ...
- MySQL 主从复制 详细实例讲解 与 常见错误解决方法
一.主机ip 192.168.0.128 ,从机ip:192.168.0.130 分别测试是否能ping通对方,如果不能,请关闭防火墙或开放对应端口 二.主服务器配置 1.备份主服务器的数据 mysq ...
- dbus 消息和消息总线实例讲解-二
转自:http://www.fmddlmyy.cn/text53.html 2.3.2.ListActivatableNames和服务器的自动启动 运行: $ dbus-send --system - ...
- 【MySQL】分页查询实例讲解
MySQL分页查询实例讲解 1. 前言 本文描述了团队在工作中遇到的一个MySQL分页查询问题,顺带讲解相关知识点,为后来者鉴.本文的重点不是"怎样"优化表结构和SQL语句,而是探 ...
- 实例讲解MySQL联合查询
好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...
- Android进阶(二十三)Android开发过程之实例讲解
Android开发过程之实例讲解 前言 回过头来审视之前做过的Android项目,发觉自己重新开发时忽然间不知所措了,间隔了太长时间没有开发导致自己的Android技能知识急剧下降.温故而知新. 废话 ...
- 实例讲解启动mysql server失败的解决方法
MySQL 实例讲解启动mysql server失败的解决方法 来源: 作者: 发表于: 启动mysql server 失败,查看/var/log/mysqld.err 080329 16:01:29 ...
随机推荐
- Spark之开窗函数
一.简介 开窗函数row_number()是按照某个字段分组,然后取另外一个字段排序的前几个值的函数,相当于分组topN.如果SQL语句里面使用了开窗函数,那么这个SQL语句必须使用HiveConte ...
- day 06 预科
目录 if判断 if判断习题 for循环 for循环习题 微信机器人 if判断 # 一条狗朝你过来了,你会干吗? 判断: 如果狗是大长腿牵来的狗--->打招呼:如果是条疯狗,跑. # if:如果 ...
- 关于如何往Jupyter notebook添加可选的kernel
关于如何往Jupyter notebook添加可选的kernel 1. Anaconda知识预热 管理虚拟环境 关于如何安装Anaconda,这里就不再一一赘述,安装完Anaconda,接下来我们就可 ...
- Linux 系统安全相关
本篇关于Linux的一些安全知识,主要就是与账号相关的安全. 账户文件锁定 当服务器中的用户账号已经固定,不在进行更改,可锁定账户文件.锁定后,无法添加.删除账号,也无法更改密码等. 锁定账户文件 c ...
- javascript Object and new object() object --构造函数
- 实用的Python库
一.Django 1.自动实现图片压缩: pip install easy-thumbnails / https://pypi.org/project/easy-thumbnails/2.实现定时任务 ...
- AOP_原理
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入封 ...
- Otsu 类间方差法
又称最大类间方差法.是由日本学者大津(Nobuyuki Otsu)于1979年提出的[1],是一种自适合于双峰情况的自动求取阈值的方法.又叫大津法,简称Otsu. 算法提出初衷是是按图像的灰度特性 ...
- CF1172E Nauuo and ODT LCT
自己独立想出来的,超级开心 一开始想的是对于每一个点分别算这个点对答案的贡献. 但是呢,我们发现由于每一条路径的贡献是该路径颜色种类数,而每个颜色可能出现多次,所以这样就特别不好算贡献. 那么,还是上 ...
- 29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)
https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的 ...