iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MYSQL group by 有哪些注意事项
  • 342
分享到

MYSQL group by 有哪些注意事项

MYSQL  group by 注意事项MYSQL  group by 2022-07-05 12:07:07 342人浏览 薄情痞子
摘要

目录1.group by 后面不能加 where2.having 或 group by 可单独使用3.having 和 group by 可使用别名为什么where不能用别名?为h

前言:

注意:本文以下内容基于 Mysql 5.7 InnoDB 数据库引擎。

1.group by 后面不能加 where

在 mysql 中,所有的 SQL 查询语法要遵循以下语法顺序:

  • select
  • from
  • where
  • group by
  • having
  • order by
  • limit

以上语法顺序是不能前后互换的,否则报错。比如我们不能在 group by 之后添加 where 查询语句,否则会出现如下错误: 

MYSQL group by 有哪些注意事项

 语法顺序的执行是和 mysql 的 select 语句执行顺序相关的,select 执行先后顺序如下:

  • from 阶段
  • where 阶段
  • group 阶段
  • having 阶段
  • select 阶段
  • order by 阶段
  • limit 阶段

注意:其中 select 比较特殊,在进行查询语句编写时,要写在最前面,其余语法顺序要和执行先后顺序保持一致。

2.having 或 group by 可单独使用

having 和 group by 可以单独使用,如下查询所示: 

MYSQL group by 有哪些注意事项

3.having 和 group by 可使用别名

**当 having 单独使用时,它的作用和 where 类似,但又有细微的不同。**比如在 where 中不能使用别名,但 having 和 group by 却可以别名。咱们创建一个测试表来演示一下,建表 sql 如下:

drop table if exists student_score;
create table student_score(
    id int primary key auto_increment comment '主键',
    name varchar(250) comment '姓名',
    math decimal(4,1) comment '数学成绩',
    chinese decimal(4,1) comment '语文成绩'
);
insert into student_score(name,math,chinese) values('张三',50,50),('李四',80,80),('王五',90,90);

表中的数据如下图所示: 

MYSQL group by 有哪些注意事项

 当我们使用总成绩别名 total 分别在 where 和 having 中使用时,查询结果如下: 

MYSQL group by 有哪些注意事项

 从上述结果可以看出,having 查询可以使用 select 中的别名,而 where 不能使用别名。 除了 having 可以使用别名之外,group by 也可以使用别名,

如下图所示: 

MYSQL group by 有哪些注意事项

为什么where不能用别名?为having却可以?

where 中不能使用别名,这和 MySQL 语句执行顺序有关,MySQL 语句执行顺序如下:

  • from 阶段
  • where 阶段
  • group 阶段
  • having 阶段
  • select 阶段
  • order by 阶段
  • limit 阶段

也就是说,**在执行 where 查询时,select 还没执行,因此在 where 中想要使用还未执行的 select 中的别名是不行的。**那从上面的执行顺序可以看到,having 执行也在 select 之前,为什么它就可以使用 select 中的别名呢?

这是因为 MySQL 在 5.7.5 之后做了扩展,允许在 having 中使用别名,官方文档中有相应的说明,

如下图所示: 

MYSQL group by 有哪些注意事项

 MySQL 官方文档地址:

PS:group by 能使用别名的原理和 having 类似。

总结

SQL 语句编写一定要遵循此先后顺序:select、from、where、group by、having、order by、limit。其中 having 或 group by 都可单独使用,并且在 MySQL 5.7.5 之后,group by 和 having 可以使用别名查询,但 where 不能使用别名。

到此这篇关于MYSQL group by 有哪些注意事项?的文章就介绍到这了,更多相关MYSQL group by内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL group by 有哪些注意事项

本文链接: https://www.lsjlt.com/news/33203.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MYSQL  group by 有哪些注意事项
    目录1.group by 后面不能加 where2.having 或 group by 可单独使用3.having 和 group by 可使用别名为什...
    99+
    2024-04-02
  • MYSQL  group by使用的注意事项有哪些
    本文小编为大家详细介绍“MYSQL  group by使用的注意事项有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MYSQL  group by使用的注意事项有哪些”文章能...
    99+
    2023-07-02
  • jQuery.ajax注意事项有哪些
    这篇文章主要为大家展示了“jQuery.ajax注意事项有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery.ajax注意事项有哪些”这篇文章吧。 ...
    99+
    2024-04-02
  • ajaxStop()注意事项有哪些
    小编给大家分享一下ajaxStop()注意事项有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   .ajaxStop()...
    99+
    2024-04-02
  • ajaxSend()注意事项有哪些
    这篇文章主要介绍ajaxSend()注意事项有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   无论哪一个Ajax请求被发送,所有ajaxSend处理器都将被执行。如果我们必...
    99+
    2024-04-02
  • Mysql大表查询注意事项有哪些
    这篇文章主要介绍Mysql大表查询注意事项有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在执行查询时,Mysql默认把结果全部load到内存后再返...
    99+
    2024-04-02
  • MySQL查询大表注意事项有哪些
    这篇文章将为大家详细讲解有关MySQL查询大表注意事项有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在执行查询时,Mysql默认把结果全部load到内存后再返回(这...
    99+
    2024-04-02
  • 建站有哪些注意事项
    本篇内容主要讲解“建站有哪些注意事项”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“建站有哪些注意事项”吧!  医疗行业作为一个特殊、敏感的行业,做好网站建设是一件很不容易的事情。随着互联网的高速...
    99+
    2023-06-10
  • jQuery.get的注意事项有哪些
    这篇文章主要讲解了“jQuery.get的注意事项有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery.get的注意事项有哪些”吧!   Ad...
    99+
    2024-04-02
  • Vue.js的注意事项有哪些
    这篇文章主要讲解了“Vue.js的注意事项有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue.js的注意事项有哪些”吧!1、为什么 Vue.js 不...
    99+
    2024-04-02
  • spring事务的注意事项有哪些
    spring事务的注意事项有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  事务一般是指数据库事务,是指作为一个程序执行单元执行的一...
    99+
    2024-04-02
  • mysql安装要注意哪些事项
    在安装MySQL时,需要注意以下几个事项:1. 确保系统满足最低要求:MySQL有一些最低硬件和软件要求,需要确保系统满足这些要求,...
    99+
    2023-08-16
    mysql
  • MySQL中enum插入的注意事项有哪些
    MySQL中enum插入的注意事项有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。今天在执行开发发过来的工单的时候,source批量导入执...
    99+
    2024-04-02
  • 使用mysql索引的注意事项有哪些
    这篇文章主要介绍了使用mysql索引的注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mysql的优化可以从硬件设备的选择、操作...
    99+
    2024-04-02
  • MySQL排序要注意哪些事项
    在MySQL中进行排序时需要注意以下几点事项: 确定排序字段:选择要排序的字段。可以是一个或多个字段,可以是数字、字符串、日期等...
    99+
    2024-02-29
    MySQL
  • Mysql中外键使用注意事项有哪些
    这篇文章主要介绍了Mysql中外键使用注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 外键,FOR...
    99+
    2024-04-02
  • 租用的注意事项有哪些
    香港虚拟云主机租用的注意事项:1. 选择稳定性好的香港云主机,保证最佳的访问速度,有利于搜索引擎的优化,提高网站的排名。2. 货比三家,租用性价比高的云主机,降低成本消耗。3. 注意售后服务,选择能够保障提供良好售后的服务商,提供及时的技术...
    99+
    2024-04-02
  • angularJS开发注意事项有哪些
    这篇文章主要为大家展示了“angularJS开发注意事项有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angularJS开发注意事项有哪些”这篇文章吧。1...
    99+
    2024-04-02
  • css书写注意事项有哪些
    这篇文章主要为大家展示了“css书写注意事项有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css书写注意事项有哪些”这篇文章吧。css书写注意事项一律小写...
    99+
    2024-04-02
  • Java集合注意事项有哪些
    今天小编给大家分享一下Java集合注意事项有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、Map 接口1、注意事项(...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作