当前位置:网站首页>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 !
边栏推荐
- 启牛商学院股票开户安全吗?靠谱吗?
- What is ROM
- easyNmon使用汇总
- Deeply cultivate 5g, and smart core continues to promote 5g applications
- [Jianzhi offer] 63 Maximum profit of stock
- 网站页面禁止复制内容 JS代码
- [Jianzhi offer] 61 Shunzi in playing cards
- Error in compiling libssh2. OpenSSL cannot be found
- Use of ThinkPHP template
- 2022 年 Q2 加密市场投融资报告:GameFi 成为投资关键词
猜你喜欢
Etcd build a highly available etcd cluster
High number | summary of calculation methods of volume of rotating body, double integral calculation of volume of rotating body
dried food! Semi supervised pre training dialogue model space
The first EMQ in China joined Amazon cloud technology's "startup acceleration - global partner network program"
American chips are no longer proud, and Chinese chips have successfully won the first place in emerging fields
Copy mode DMA
ECU introduction
Error in composer installation: no composer lock file present.
IDC报告:腾讯云数据库稳居关系型数据库市场TOP 2!
First day of learning C language
随机推荐
干货!半监督预训练对话模型 SPACE
Embedded UC (UNIX System Advanced Programming) -1
网站页面禁止复制内容 JS代码
【剑指 Offer】62. 圆圈中最后剩下的数字
PHP talent recruitment system development source code recruitment website source code secondary development
【Web攻防】WAF检测技术图谱
C#实现水晶报表绑定数据并实现打印3-二维码条形码
【7.7直播预告】《SaaS云原生应用典型架构》大咖讲师教你轻松构建云原生SaaS化应用,难题一一击破,更有华为周边好礼等你领!
Is it safe and reliable to open futures accounts on koufu.com? How to distinguish whether the platform is safe?
Is it safe to open futures accounts online? Will there be more liars online? Doesn't feel very reliable?
拷贝方式之DMA
[Jianzhi offer] 61 Shunzi in playing cards
中国广电正式推出5G服务,中国移动赶紧推出免费服务挽留用户
easyNmon使用汇总
American chips are no longer proud, and Chinese chips have successfully won the first place in emerging fields
China Radio and television officially launched 5g services, and China Mobile quickly launched free services to retain users
通过proc接口调试内核代码
The two ways of domestic chip industry chain go hand in hand. ASML really panicked and increased cooperation on a large scale
Timestamp strtotime the day before or after the date
flask解决CORS ERR 问题