服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - mysql max 与 where 间的执行问题小结

mysql max 与 where 间的执行问题小结

2020-08-24 15:50小小菜b Mysql

这篇文章主要介绍了mysql max 与 where 间的执行问题小结,需要的朋友可以参考下

mysql max 与 where 间的执行问题

执行sql:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `grades` (
 `id` int(20) NOT NULL AUTO_INCREMENT,
 `student_id` int(20) NOT NULL,
 `subject` varchar(20) COLLATE utf8_bin DEFAULT NULL,
 `grades` varchar(20) COLLATE utf8_bin DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
insert into `grades`(`id`,`student_id`,`subject`,`grades`) values (1,1,'语文','80'),(2,1,'数学','89'),(3,2,'语文','90');
CREATE TABLE `student` (
 `id` int(20) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) COLLATE utf8_bin DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
insert into `student`(`id`,`name`) values (1,'xiaoming'),(2,'xiaohong'),(3,'xiaobai');

执行结果:

mysql max 与 where 间的执行问题小结

执行结果1:

mysql max 与 where 间的执行问题小结

执行结果2:

mysql max 与 where 间的执行问题小结

执行结果3:

mysql max 与 where 间的执行问题小结

执行结果4:

mysql max 与 where 间的执行问题小结

执行结果5:

mysql max 与 where 间的执行问题小结

由此可见:

1.max是在where条件之前执行的,

2.而group by 又是在max之前执行的

3.当where 与 group by 同时出现 优先执行where条件

总结

以上所述是小编给大家介绍的mysql max 与 where 间的执行问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.cnblogs.com/cb-log/archive/2018/01/30/mysql_max_where.html

延伸 · 阅读

精彩推荐