博客
关于我
mysql加强(3)~分组(统计)查询
阅读量:796 次
发布时间:2023-02-12

本文共 850 字,大约阅读时间需要 2 分钟。

SQL 分组查询(统计查询)指南

1. 语法说明

在 SQL 中,分组查询用于对数据进行聚合和统计。以下是分组查询的基本语法结构:

select [distinct] {字段} [字段别名], ... [统计函数]from 表名 [表别名][where 条件]group by {分组字段} [, 分组字段][having 统计后的过滤条件][order by 排序字段 asc|desc [, 排序字段 asc|desc]];

2. 分组查询注意事项

需要注意以下几点:

  • 查询字段必须是分组字段或统计函数字段

    需要注意的是,select语句中选择的字段必须是分组字段或统计函数字段,否则会导致错误。

  • 不能在where子句中使用组函数

    统计函数(如avg、sum等)不能在where子句中使用。

  • 使用having进行过滤

    对分组结果进行过滤时,应使用having子句。

3. 分组的执行顺序

通常的 SQL 执行顺序是:from → where → group by → having → select → order by → limit。

4. where 和 having 的区别

  • where:在分组之前进行过滤,用于排除不合法数据。
  • having:在分组之后进行过滤,用于对分组结果进行筛选。

5. 并列分组

并列分组是指一个字段包含多个值,根据这些值对数据进行分组。例如:

select deptno, job, avg(sal) from emp group by deptno, job;

6. SQL 语句执行顺序

在编写 SQL 语句时,应遵循以下顺序:

  • from:选择需要查询的表。
  • where:在分组之前对数据进行过滤。
  • group by:根据分组字段对数据进行分组。
  • having:对分组后的结果进行过滤。
  • select:选择需要显示的字段。
  • order by:对结果进行排序。
  • limit:设置结果的数量限制。
  • 通过以上步骤,可以确保 SQL 语句的正确执行和结果的准确性。

    转载地址:http://fmbfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
    查看>>
    Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
    查看>>
    Mysql学习总结(63)——Mysql数据库架构方案选择与分析
    查看>>
    Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
    查看>>
    Mysql学习总结(65)——项目实战中常用SQL实践总结
    查看>>
    Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
    查看>>
    Mysql学习总结(67)——MYSQL慢查询日志
    查看>>
    Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
    查看>>
    Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
    查看>>
    Mysql学习总结(6)——MySql之ALTER命令用法详细解读
    查看>>
    Mysql学习总结(70)——MySQL 优化实施方案
    查看>>
    Mysql学习总结(71)——MySQL 重复记录查询与删除总结
    查看>>
    Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
    查看>>
    Mysql学习总结(72)——MySQL 开发者开发,设计规范再总结
    查看>>
    Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
    查看>>
    Mysql学习总结(74)——慢SQL!压垮团队的最后一根稻草!
    查看>>
    Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
    查看>>
    Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
    查看>>
    Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
    查看>>
    Mysql学习总结(78)——MySQL各版本差异整理
    查看>>