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

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

执行结果:

a7b0c877fd6efa68daf7114065dc45e6.png

执行结果1:

d28148d584ee15eb5544579b110a1c0e.png

执行结果2:

8017df50137c027bc5a330520e0e5ecc.png

执行结果3:

cc8af598da0d3d9c90a61245a9336ca5.png

执行结果4:

da8b9459a4c4099a3a7885c64fff79f1.png

执行结果5:

543fdff49c985f043aa623a4f6069829.png

由此可见:

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

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

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

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值