目录

MySQL分组查询

  1. 概述
  2. 理解(先分组,再统计)
  3. 基本语法
  4. 过滤分组(HAVING)

概述

MySQL分组查询是数据库操作中的一种常用操作,用于对数据进行分组统计。在MySQL中,分组查询主要通过GROUP BY子句实现,GROUP BY子句用于对查询结果进行分组,然后通过聚合函数对每个分组进行统计。本文将介绍MySQL分组查询的基本语法和常用操作。

理解(先分组,再统计)

  • 根据一个字段进行分组: 假设现在有一个用户表,表中有10条数据,我们根据性别把所有的数据进行分组,可以分成2组,每组5条数据。这个时候就可以以每个组为单位进行统计,比如统计男性用户的平均年龄,统计女性用户的平均年龄。
  • 根据多个字段进行分组: 假如同时根据性别和学校进行分组,就可以这样分组:男生在清华大学的,男生在北大的;女生在清华大学的,女生在北大的;以此类推。

基本语法

SELECT
    column1,
    column2,
    aggregate_function(column3)
FROM
    table_name
GROUP BY
    column1,
    column2
HAVING
    condition;
-- column1、column2为分组字段,aggregate_function为聚合函数,table_name为表名,condition为筛选条件。
-- GROUP BY子句用于对查询结果进行分组,HAVING子句用于筛选分组后的结果。

过滤分组(HAVING)

  • HAVING 用于筛选分组后的结果,只有满足条件的分组才会被返回。HAVING支持所有WHERE的操作,比如=><>=<=<>BETWEENLIKE等。
  • HAVING和WHERE的区别: WHERE过滤行,HAVING过滤分组。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至[email protected]

文章标题:MySQL分组查询

字数:401

本文作者:LCX

发布时间:2024-09-18, 11:07:00

最后更新:2024-09-24, 08:51:51

原始链接:https://987654321.org/posts/mysql_group_by/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。