Group By 和 Having, Where ,Order by语句的执行顺序
一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。 Group By 和 Having, Where ,Order by这些关键
一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。
Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。
- 首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)
- 然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组
- 接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉
- 最后按照Order By语句对视图进行排序,这样最终的结果就产生了。
在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:
<code>SELECT FruitName, ProductPlace, Price, ID AS IDE, Discount FROM T_TEST_FRUITINFO WHERE (ProductPlace = N'china') ORDER BY IDE </code>
这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。
PS:
-
凡是在group by后面出现的字段,必须同时在select后面出现;
-
凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.
-
having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

自动化和任务调度在简化软件开发中的重复任务方面发挥着至关重要的作用。想象一下,有一个Python脚本需要每5分钟执行一次,例如从API获取数据、执行数据处理或发送定期更新。如此频繁地手动运行脚本可能非常耗时并且容易出错。这就是任务调度的用武之地。在这篇博文中,我们将探讨如何安排Python脚本每5分钟执行一次,确保它自动运行而无需手动干预。我们将讨论可用于实现此目标的不同方法和库,使您能够有效地自动化任务。使用time.sleep()函数每5分钟运行一次Python脚本的一种简单方法是利用tim

如何使用Python在Linux中进行脚本编写和执行在Linux操作系统中,我们可以使用Python编写并执行各种脚本。Python是一种简洁而强大的编程语言,它提供了丰富的库和工具,使得脚本编写变得更加简单和高效。下面我们将介绍在Linux中如何使用Python进行脚本编写和执行的基本步骤,同时提供一些具体的代码示例来帮助你更好地理解和运用。安装Pytho

Brown-Forsythe检验是一种统计检验,用于确定两个或多个组的方差是否相等。Levene检验使用与均值的绝对偏差,而Brown-Forsythe检验则使用与中位数的偏差。检验中使用的原假设如下-H0:组(总体)的方差相等备择假设是方差不相等-H1:组(群体)的方差不相等为了执行测试,我们计算每组的中位数以及与中位数的绝对偏差。然后我们根据这些偏差的方差计算F统计量。假设计算出的F统计量大于F分布表中的临界值。在这种情况下,我们拒绝原假设并得出结论:各组的方差不相等。在Python中,sc

Laravel集合中的Where方法实用指南在Laravel框架的开发过程中,集合(Collection)是一个非常有用的数据结构,它提供了丰富的方法来操作数据。其中,Where方法是一个常用的筛选方法,能够根据指定条件来过滤集合中的元素。本文将介绍Laravel集合中Where方法的使用,通过具体的代码示例来演示其用法。1.基本用法Where方法的

怎样在浏览器中编写PHP代码并保持代码不被执行?随着互联网的普及,越来越多的人开始接触网页开发,其中对于PHP的学习也越来越受到关注。PHP是一种在服务器端运行的脚本语言,通常用于编写动态网页。然而,在练习阶段,我们希望能够在浏览器中编写PHP代码并查看结果,但又不希望代码被执行。那么,如何实现在浏览器中编写PHP代码并保持不被执行呢?下面将详细介绍。首先,

ANCOVA(协方差分析)是一种有用的统计方法,因为它可以在分析中包含协变量,这可以帮助调整辅助变量并增加组间比较的精确度。这些额外的因素或协变量可以通过使用ANCOVA将其纳入研究中。为了确保观察到的组间差异是由研究中的治疗或干预引起的,而不是由无关因素引起的,可以使用ANCOVA来调整协变量对组均值的影响。这可以使组间比较更准确,并给出更可靠的关于变量之间关系的结论。在本文中,我们将仔细研究ANCOVA并在Python中实施。什么是ANCOVA?协方差分析(ANCOVA)方法比较两个或多个组

Laravel集合中如何使用Where方法Laravel是一个流行的PHP框架,它提供了丰富的功能和工具,方便开发者快速构建应用程序。其中,集合(Collection)是Laravel中一个非常实用和强大的数据结构,开发者可以使用集合对数据进行各种操作,如过滤、映射、排序等。在集合中,Where方法是一个常用的方法,用于根据指定的条件过滤集

从入门到精通:掌握is与where选择器的使用技巧引言:在进行数据处理和分析的过程中,选择器(selector)是一项非常重要的工具。通过选择器,我们可以按照特定的条件从数据集中提取所需的数据。本文将介绍is和where选择器的使用技巧,帮助读者快速掌握这两个选择器的强大功能。一、is选择器的使用is选择器是一种基本的选择器,它允许我们根据给定条件对数据集进
