当前位置:网站首页>What are the precautions for MySQL group by
What are the precautions for MySQL group by
2022-07-05 17:14:00 【1024 questions】
1.group by Can't add after where
2.having or group by Can be used alone
3.having and group by You can use aliases
Why? where You can't use aliases ? by having But you can ?
summary
Preface :
Be careful : The following content of this article is based on MySQL 5.7 InnoDB Database engine .
1.group by Can't add after wherestay MySQL in , be-all SQL The query syntax should follow the following syntax order :
select
from
where
group by
having
order by
limit
The above grammatical order is not interchangeable , Otherwise, the report will be wrong . For example, we can't group by Then add where Query statement , Otherwise, the following error will occur :

The execution of the syntax sequence is and MySQL Of select Statement execution order related ,select The order of execution is as follows :
from Stage
where Stage
group Stage
having Stage
select Stage
order by Stage
limit Stage
Be careful : among select A special , When writing query statements , Write it first , Other grammatical order shall be consistent with the execution order .
2.having or group by Can be used alonehaving and group by Can be used alone , The following query is shown :

** When having When used alone , Its role and where similar , But there are subtle differences .** For example where Alias cannot be used in , but having and group by But it can be another name . Let's create a test table to demonstrate , Build table SQL as follows :
drop table if exists student_score;create table student_score( id int primary key auto_increment comment ' Primary key ', name varchar(250) comment ' full name ', math decimal(4,1) comment ' Math scores ', chinese decimal(4,1) comment ' Chinese achievement ');insert into student_score(name,math,chinese) values(' Zhang San ',50,50),(' Li Si ',80,80),(' Wang Wu ',90,90);The data in the table is shown in the figure below :

When we use the total score alias total Respectively in where and having When used in , The query results are as follows :

As can be seen from the above results ,having Queries can use select Alias in , and where Cannot use alias . except having You can use something other than an alias ,group by You can also use aliases ,
As shown in the figure below :

where Alias cannot be used in , This sum MySQL Statement execution order ,MySQL The execution order of the statements is as follows :
from Stage
where Stage
group Stage
having Stage
select Stage
order by Stage
limit Stage
in other words ,** In execution where When inquiring ,select Not yet implemented , So in where You want to use a that has not yet been executed select Aliases in are not acceptable .** From the above execution sequence, you can see ,having Execution is also select Before , Why can it be used select The alias in ?
This is because MySQL stay 5.7.5 After that, it was extended , Allow in having Use aliases , There are corresponding instructions in the official documents ,
As shown in the figure below :

MySQL Official document address :
summaryPS:group by Be able to use the principle and having similar .
SQL Statements must be written in this order :select、from、where、group by、having、order by、limit. among having or group by Can be used alone , And in MySQL 5.7.5 after ,group by and having You can use alias queries , but where Cannot use alias .
This is about MYSQL group by What are the precautions ? This is the end of the article , More about MYSQL group by Please search the previous articles of software development network or continue to browse the relevant articles below. I hope you will support software development network more in the future !
边栏推荐
- Embedded-c Language-2
- It is forbidden to copy content JS code on the website page
- dried food! Semi supervised pre training dialogue model space
- 【729. 我的日程安排錶 I】
- Using C language to realize palindrome number
- 精准防疫有“利器”| 芯讯通助力数字哨兵护航复市
- 时间戳strtotime前一天或后一天的日期
- 编译libssh2报错找不到openssl
- 2022 年 Q2 加密市场投融资报告:GameFi 成为投资关键词
- 叩富网开期货账户安全可靠吗?怎么分辨平台是否安全?
猜你喜欢

dried food! Semi supervised pre training dialogue model space

机器学习编译第2讲:张量程序抽象

腾讯音乐上线新产品“曲易买”,提供音乐商用版权授权

Embedded-c Language-2

Using C language to realize palindrome number
SQL删除重复数据的实例教程

The first EMQ in China joined Amazon cloud technology's "startup acceleration - global partner network program"

Jarvis OJ Flag

机器学习01:绪论

CMake教程Step2(添加库)
随机推荐
启牛商学院股票开户安全吗?靠谱吗?
C#实现水晶报表绑定数据并实现打印3-二维码条形码
Detailed explanation of printf() and scanf() functions of C language
Embedded-c Language-4
Excuse me, is the redis syntax used in DMS based on the commands of the redis community version of the cloud database
机器学习编译第2讲:张量程序抽象
【剑指 Offer】66. 构建乘积数组
[Web attack and Defense] WAF detection technology map
【7.7直播预告】《SaaS云原生应用典型架构》大咖讲师教你轻松构建云原生SaaS化应用,难题一一击破,更有华为周边好礼等你领!
thinkphp模板的使用
【Web攻防】WAF检测技术图谱
国内首家 EMQ 加入亚马逊云科技「初创加速-全球合作伙伴网络计划」
微信公众号网页授权登录实现起来如此简单
Timestamp strtotime the day before or after the date
关于mysql中的json解析函数JSON_EXTRACT
The survey shows that the failure rate of traditional data security tools in the face of blackmail software attacks is as high as 60%
张平安:加快云上数字创新,共建产业智慧生态
Jarvis OJ shell traffic analysis
Practical example of propeller easydl: automatic scratch recognition of industrial parts
Writing method of twig array merging