(4)、where: 根据携带的条件,从临时表中筛选出符合条件的数据,并生成临时表t2。
...(5)、groub by: 根据携带的条件,将临时表t2进行相应的数据分组,并形成临时表t3,如果语句包含了group by则它后面的字段必须出现在select中或者出现在聚合函数中,否则会报SQL语法错误...(6)、count等聚合函数: 对临时表进行指定字段的聚合函数操作,形成临时表t5。
(7)、having: 筛选分组后临时表t3的数据,得到临时表t4。
...如:使用班级分组,但是查询班级中的学生,此时一个班级对应多个学生,无法在分组的同时又查询单个学生,所以会出现歧义。...一般的解决方案都是先执行分组SQL,然后再执行查下总数SQL,但这样其实就重复请求了数据库,如果数据量表大条件复杂的时候,对效率的影响是很大的。