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 实例讲解(二)的更多相关文章

  1. MySQL Group By 实例讲解(一)

    MySQL Group By 实例讲解 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GRO ...

  2. Maven聚合与继承的实例讲解(二)

    继续上一节讲Maven的内容,我们这个节继续讲Maven继承和聚合的其他内容.    现在我们新建一个实例来测试Maven有关于聚合的部分     测试开始 一.建立以pom为packaging的项目 ...

  3. jQuery插件ImgAreaSelect 实例讲解二

    在上一篇随笔http://www.cnblogs.com/chenguanai/p/6883401.html中,已经了解了头像的上传预览和裁剪功能:那么这次就再看一下imgareaselect的裁剪功 ...

  4. MySQL 主从复制 详细实例讲解 与 常见错误解决方法

    一.主机ip 192.168.0.128 ,从机ip:192.168.0.130 分别测试是否能ping通对方,如果不能,请关闭防火墙或开放对应端口 二.主服务器配置 1.备份主服务器的数据 mysq ...

  5. dbus 消息和消息总线实例讲解-二

    转自:http://www.fmddlmyy.cn/text53.html 2.3.2.ListActivatableNames和服务器的自动启动 运行: $ dbus-send --system - ...

  6. 【MySQL】分页查询实例讲解

    MySQL分页查询实例讲解 1. 前言 本文描述了团队在工作中遇到的一个MySQL分页查询问题,顺带讲解相关知识点,为后来者鉴.本文的重点不是"怎样"优化表结构和SQL语句,而是探 ...

  7. 实例讲解MySQL联合查询

    好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...

  8. Android进阶(二十三)Android开发过程之实例讲解

    Android开发过程之实例讲解 前言 回过头来审视之前做过的Android项目,发觉自己重新开发时忽然间不知所措了,间隔了太长时间没有开发导致自己的Android技能知识急剧下降.温故而知新. 废话 ...

  9. 实例讲解启动mysql server失败的解决方法

    MySQL 实例讲解启动mysql server失败的解决方法 来源: 作者: 发表于: 启动mysql server 失败,查看/var/log/mysqld.err 080329 16:01:29 ...

随机推荐

  1. HttpClient使用详解与实战一:普通的GET和POST请求

    简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议. Htt ...

  2. Java 缓存实例

    重复创建相同的对象没有太大的意义,反而加大了系统开销,某些情况下,可以缓存该类的实例,实现复用. 实现缓存实例:定义一个private static成员变量存储类的实例(多个可用数组)先检测上面的成员 ...

  3. linux下面查找文件夹名称

    其中如果查找redis开头的文件夹,可以输入 find / -name redis* -d

  4. 不依赖Python第三方库实现梯度下降

    认识 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模), 我感觉, 其实就是偏导数向量方向 ...

  5. 如何用 DHCP + DNS + Web 实现一个网络架构

    为什么?为什么?为什么在浏览器里输入www.baidu.com就可以访问百度搜索,而输入pan.baidu.com就可以访问百度网盘,它是怎么实现的? 实验原理简介 在Internet中,计算机之间通 ...

  6. 持久化JS存储

    <script src="../../lib/persist-min.js"></script> //测试一下本地化存储器 var store = new ...

  7. 瑞克和莫蒂|S3E03 Rick为什么要把自己变成一根腌黄瓜?

    给尚未入坑Rick and Morty的小伙伴们为一点背景知识    S3E1在说什么? rick从监狱里回来,顺手搞垮了统治地球的银河联邦政府.Jerry因此丢了工作,非常不高兴.于是向Beth质问 ...

  8. Python +urllib+urllib2 带数据的post请求实例

    #coding:utf-8 ''' Created on 2017年11月2日 @author: li.liu ''' import urllib import urllib2 import re f ...

  9. Spark 基础 —— 创建 DataFrame 的三种方式

    1.自定义 schema(Rdd[Row] => DataSet[Row]) import org.apache.spark.sql.types._ val peopleRDD = spark. ...

  10. linux sed 批量替换文件中的字符串或符号

    sed -i :直接修改读取的文件内容,而不是输出到终端.   sed -i 就是直接对文本文件进行操作的   替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件   ...