首页 > 数据库技术 > 详细

mysql max 与 where 间的执行问题

时间:2018-01-30 14:53:02      阅读:246      评论:0      收藏:0      [点我收藏+]

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 间的执行问题

原文:https://www.cnblogs.com/cb-log/p/mysql_max_where.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!