zoukankan      html  css  js  c++  java
  • 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

    在原文基础上有改动

  • 相关阅读:
    Java笔记(一)Eclipse 操作MySQL数据库的效率问题
    C# 笔记(六)关于switch 语句
    C# 笔记(五)关于static
    arcgis server 9.3初步
    C# 笔记(三)关于结构体变量
    OpenBSD随笔(一)
    Windows 脚本WSH
    Java笔记(二)Eclipse 连接SQlServer
    ArcGIS Server 9.3 JavaScript API实战(二)一个具体的小系统示例介绍
    C#笔记(二)类型转换
  • 原文地址:https://www.cnblogs.com/111testing/p/11334217.html
Copyright © 2011-2022 走看看