group by 将数据分组实际上是将一堆数据分成N堆,再循环查找!
eg:
1 | 2005001 | 张三 |
2 | 2005002 | 李四 |
3 | 2005001 | 张三 |
SELECT MIN(id) AS MID
FROM student2 s GROUP BY s.name
结果:
mid |
1 |
2 |
group by 后面只指定了一列,那么即使一个组有多行值。也不会全部取出,只取出一个。
分组后,如果select子句想取出某个字段,那么它不可能将都属于a组的记录都取出来。只是从a组中取出一个代表性的值出来。