博客
关于我
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双机热备份(二)--MysqL主-主复制实现
    查看>>
    MySQL各个版本区别及问题总结
    查看>>
    MySql各种查询
    查看>>
    mysql同主机下 复制一个数据库所有文件到另一个数据库
    查看>>
    mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
    查看>>
    mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
    查看>>
    Mysql启动失败解决过程
    查看>>
    MySQL启动失败:Can't start server: Bind on TCP/IP port
    查看>>
    mysql启动报错
    查看>>
    mysql启动报错The server quit without updating PID file几种解决办法
    查看>>
    MySQL命令行登陆,远程登陆MySQL
    查看>>
    mysql命令:set sql_log_bin=on/off
    查看>>
    mySQL和Hive的区别
    查看>>
    MySQL和Java数据类型对应
    查看>>
    mysql和oorcale日期区间查询【含左右区间问题】
    查看>>
    MYSQL和ORACLE的一些操作区别
    查看>>
    mysql和redis之间互相备份
    查看>>
    MySQL和SQL入门
    查看>>
    mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
    查看>>
    Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
    查看>>