SQL – GROUP BY 语句

yizhihongxing

完整攻略 - SQL GROUP BY 语句

SQL GROUP BY 语句用于将结果按照一个或多个列进行分组,然后对每组进行聚合操作,比如 COUNT、SUM、AVG 等。GROUP BY 语句的基本语法如下所示:

SELECT column1, column2, ..., aggregate_function(column)
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
HAVING condition
ORDER BY column1, column2, ... ASC|DESC;

其中,column1, column2, ... 是需要计算的列,可以是多个列;aggregate_function(column) 是聚合函数,比如 COUNT、SUM、AVG 等;table_name 是要查询的表;condition 是筛选条件;GROUP BY column1, column2, ... 列出了分组依据的列;HAVING condition 是分组筛选条件,只保留符合条件的分组;ORDER BY column1, column2, ... ASC|DESC 列出了排序规则。

一. 聚合函数

SQL GROUP BY 语句中需要使用到聚合函数来进行计算,下面是常用的聚合函数。

  1. COUNT(column)
    统计某一列中的行数,如果括号内写的是 *,则表示统计所有行数。

  2. SUM(column)
    计算某一列的总和。

  3. AVG(column)
    计算某一列的平均值。

  4. MAX(column)
    计算某一列的最大值。

  5. MIN(column)
    计算某一列的最小值。

二. 示例

我们以学生表(Student)为例来演示 SQL GROUP BY 语句的使用。

  1. 统计每个班级的人数及平均年龄
SELECT Class, COUNT(*) AS Count_Num, AVG(Age) AS Average_Age
FROM Student
GROUP BY Class;

分组依据是 Class 列,统计了每个班级的人数 Count_Num 和平均年龄 Average_Age。

  1. 统计每个班级男女人数及平均年龄
SELECT Class, Gender, COUNT(*) AS Count_Num, AVG(Age) AS Average_Age
FROM Student
GROUP BY Class, Gender;

分组依据是 Class 和 Gender 两列,统计了每个班级男女人数及平均年龄。

以上就是 SQL GROUP BY 语句的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL – GROUP BY 语句 - Python技术站

(0)
上一篇 2023年3月27日
下一篇 2023年3月27日

相关文章

  • MySQL优化之如何写出高质量sql语句

    下面是详细讲解“MySQL优化之如何写出高质量sql语句”的完整攻略: 1. 分析需求 在开始编写 SQL 语句之前,首先需要明确当前需求。需要查询的数据是什么?需要筛选的条件是什么?是否涉及到多表联查等复杂操作等。只有通过对需求进行全面的理解和分析才能更好地编写 SQL 语句。 2. 优化表结构 优化表结构可以极大提升SQL查询效率,减少数据库系统的压力。…

    database 2023年5月19日
    00
  • SNMP4J服务端连接超时问题解决方案

    当使用SNMP4J的服务端(SNMP Agent)时,可能会出现连接超时的问题,导致数据无法传输。以下是解决方案的完整攻略: 问题分析 连接超时通常是由于SNMP4J无法与SNMP Agent建立通信而导致的。问题的原因可能是SNMP4J服务端未能正确地响应请求或SNMP Agent未正确响应SNMP4J请求。 解决方案 以下是解决SNMP4J连接超时问题的…

    database 2023年5月21日
    00
  • php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)

    下面我会详细讲解如何使用PHP和MySQL查询当天、本周、本月的数据,并提供两个实例说明。 查询当天数据 要查询当天的数据,需要先获取当前时间并格式化。可以使用PHP的date函数来实现: $date = date(‘Y-m-d’); // 获取当前日期,格式为"年-月-日" 然后就可以使用MySQL的WHERE子句筛选出符合条件的数据,…

    database 2023年5月22日
    00
  • PHP mysql事务问题实例分析

    PHP mysql事务问题实例分析 什么是事务 数据库事务是指批量操作中的所有单个操作作为整体的执行过程。事务可以被视为某个进程或线程执行的所有数据库操作的逻辑集合,这些操作被视为一个单独的工作单元,这些操作要么全部完成,要么全部不执行。 在PHP mysql事务中,要使用Begin、Rollback和Commit三个命令来控制事务的结果。 事务的关键点 B…

    database 2023年5月21日
    00
  • 超详细MySQL使用规范分享

    超详细MySQL使用规范分享 基本概念 数据库(DB) 数据库是一种组织数据的方式,可以让我们方便地添加、删除和修改数据。常见的数据库有MySQL、PostgreSQL、Oracle等。 表(Table) 表是数据库中存储数据的地方,类似于Excel中的表格。 字段(Field) 表中每一列的名称称为字段,每个字段可以存储一个特定类型的数据。 记录(Row)…

    database 2023年5月22日
    00
  • mysql 写入中文乱码

    今天从另一个系统往mysql数据库写入数据,发现中文变成了????? 检查数据库的设置 ,server对应字符集是latinl    调整mysql参数配置,配置文件目录/etc/mysql/mysql.conf.d/ 添加一行:character-set-server = utf8    然后重启mysql服务,再次检查服务器参数配置,重新写入中文已正常。…

    MySQL 2023年4月13日
    00
  • 如何使用Python在MySQL中删除表?

    要使用Python在MySQL中删除表,可以使用Python的内置模块sqlite3或第三方库mysql-connector-python。以下是使用mysql-connector-python在MySQL中删除表的完整攻略: 连接 要连接到MySQL,需要提供MySQL的主机、用户名、和密码。可以使用以下代码连接: mysql.connector mydb…

    python 2023年5月12日
    00
  • SQL 根据字符串里的数字排序

    首先,SQL中可以使用ORDER BY语句对查询结果进行排序。如果需要对字符串中的数字进行排序,可以利用SQL中的函数来实现。 下面是两个SQL语句的示例,展示如何按照字符串中的数字进行排序: 使用CAST函数进行转换排序: SELECT id, name FROM table_name ORDER BY CAST(SUBSTR(name, 4) AS UN…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部