group by

对结果集进行分组,有两种方式可以实现,一种是创建临时表,另一种基于索引(B系列的索引)。

通过索引访问执行group by的两种方式,一是所有的范围谓词(where子句)一起应用,二是先执行范围读取,然后再对结果集执行group by操作。

在MySQL中,group by都有排序的效果(实质是根据group by后的字段进行排序),所有的服务端都会应用order by对group by进行优化。另外,

应用group by无论进行显示,隐示的排序都是禁止的。

关于group的松散索引,聚簇索引,见博文。

 

关于链家网一面时的问题:

select * 

from student

group by className;

返回多少行数据,对于每一组?

posted @ 2018-08-15 21:48  流沙若水  阅读(189)  评论(0编辑  收藏  举报