1. 程式人生 > 資料庫 >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,'數學','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'),'xiaohong'),'xiaobai');

執行結果:

執行結果1:

執行結果2:

執行結果3:

執行結果4:

執行結果5:

由此可見:

1.max是在where條件之前執行的,

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

3.當where 與 group by 同時出現 優先執行where條件

總結

以上所述是小編給大家介紹的mysql max 與 where 間的執行問題小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!