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

2018-02-07 07:57:57来源:作者:人点击

分享

mysql max 与 where 间的执行问题

执行sql:

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');

执行结果:

执行结果1:

执行结果2:

执行结果3:

执行结果4:

执行结果5:

由此可见:

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

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

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

总结

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

您可能感兴趣的文章:

  • MySQL左联多表查询where条件写法示例
  • MySQL Where 条件语句介绍和运算符小结
  • MySQL 存储过程传参数实现where id in(1,2,3,...)示例
  • 解析mysql left( right ) join使用on与where筛选的差异
  • UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
  • MYSQL where 1=1判定中的作用说明
  • MySQL中的max()函数使用教程
  • MySQL性能优化之max_connections配置参数浅析
  • mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台