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 間的執行問題小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答