首页 > 数据库 >mysql中select、from、where、group by、having、order by 、limit执行顺序

mysql中select、from、where、group by、having、order by 、limit执行顺序

时间:2023-11-14 14:58:17浏览次数:42  
标签:group -- order limit where having select

语法顺序:select->from->where->group by->having->order by -> limit
执行顺序:from --> where -- > group by --> having --> select --> order by --> limit
1)from子句组装来自不同数据源的数据;
2)使用on进行join连接的数据筛选
3)where子句基于指定的条件对记录行进行筛选;
4)group by子句将数据划分为多个分组;
5)cube, rollup
6)使用聚集函数进行计算;
7)使用having子句筛选分组;
8)计算所有的表达式;
9)计算select的字段;
10)使用distinct 进行数据去重
11)使用order by对结果集进行排序。
12)选择TOPN的数据
1、having作用:对分组后的数据进行二次过滤,主要目的是为了补充聚合函数(sum、max、min、avg、count)无法在where中使用的缺陷。
使用having字句对分组后的结果进行筛选,语法和where差不多:having 条件表达式
需要注意having和where的用法区别:
(1).having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。
(2).where肯定在group by 之前,即也在having之前。
(3).where后的条件表达式里不允许使用聚合函数,而having可以。
2、from后面的表关联,是自右向左解析的,
而where条件的解析顺序是自下而上的。

 

标签:group,--,order,limit,where,having,select
From: https://www.cnblogs.com/jelly12345/p/17831568.html

相关文章

  • k8s中是如何计算pod的计算资源(cpu和内存)的requests和limits值的?
    1、结论 对于pod来说,cpu和内存的requests和limits的值,等于pod中所有容器的requests和limits的值的总和。 具体来说:pod的requests的大小,等于所有的容器的requests的大小的和,如果某个容器没有设置requests,则这个值是0.pod的limits的值的大小,等于所有容器的limits的值的大......
  • Maven打包项目时异常:Cannot access nexus-aliyun (http://maven.aliyun.com/nexus/con
    package是报错Cannotaccessnexus-aliyun(http://maven.aliyun.com/nexus/content/groups/public)inofflinemodeandtheartifactorg.apache.maven.surefire:maven-surefire-common:pom:2.22.2hasnotbeendownloadedfromitbefore.根据翻译的意思:无法在脱机模式下......
  • mysql 查询报错Expression #1 of SELECT list is not in GROUP BY clause and contain
    这个错误是由于MySQL的新版本中默认开启了ONLY_FULL_GROUP_BY模式,即在GROUPBY语句中的SELECT列表中,只能包含分组或聚合函数,不能包含其他列。而你的查询语句中出现了一个列senior_two.score.student_id,它既没有被分组也没有被聚合,因此MySQL报出了这个错误。5.7版本以下不......
  • MySQL中ORDER BY与LIMIT一起使用(有坑)
     1. 现象与问题ORDERBY排序后,用LIMIT取前几条,发现返回的结果集的顺序与预期的不一样下面是我遇到的问题:可以看到,带LIMIT与不带LIMIT的结果与我预期的不一样,而且“很不可思议”,真是百思不得其解后来百度了一下,如果orderby的列有相同的值时,mysql会随机选取这些行,为了保......
  • /proc/pids/limits
    cat/proc/39977/limitsLimitSoftLimitHardLimitUnitsMaxcputimeunlimitedunlimitedsecondsMaxfilesizeunlimitedunlimitedbytes......
  • nacos中group以及namespace的使用注意事项
    服务注册到不同的命名空间下,服务间无法通过OpenFeign指定服务名进行负载通信!!! 命名空间使用注意事项1.同名的命名空间只能创建一个! 2.微服务间如果没有注册到一个命名空间下,无法使用OpenFeign指定服务名负载通信(服务拉取的配置文件不同命名空间不影响) 即服务间如果需要......
  • 【论文阅读笔记】【OCR-文本检测】 Few Could Be Better Than All: Feature Sampling
    CVPR2022读论文思考的问题论文试图解决什么问题?一些基于DETR的方法在ICDAR15,MLT17等文字尺度变化范围较大的数据集上文本检测的效果不佳DETR运用的高层特征图难以捕捉小文字的特征,且会引入很多无关的背景噪声,增加了检测的困难程度即使使用DETR的改进模型......
  • .NET(C#) Linq GroupBy和GroupJoin的使用
    Linq是LanguageIntegratedQuery的简称,它是微软在.NETFramework3.5里面新加入的特性,用以简化查询查询操作。本文主要介绍.NET(C#)中Linq的GroupBy和GroupJoin操作符1、GroupBy操作符GroupBy操作符类似于SQL语言仲的GruopBy语句,这里的GroupBy操作符用于将输入序列中的元素进......
  • R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和
    原文链接:http://tecdat.cn/?p=25158原文出处:拓端数据部落公众号 本文拟合具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP。还提供了进行交叉验证以及拟合后可视化、总结和预测的实......
  • UNION和GROUP BY连用 导致的无法谓词推入问题
    问题概述在分析客户环境的一条SQL时,发现了无法做谓词推入的现象。造成视图中的大表访问比较低效。故此对案例做了进一步分析及测试。以确定问题原因。问题SQL:SELECTSUM("A2"."PREM")FROM((SELECT"A5"."AGENT_ID",SUM("A5"."PREM")"PREM"FROMQUERY_DES......