+ -
当前位置:首页 → 问答吧 → 问一个关于group by 的问题

问一个关于group by 的问题

时间:2011-12-22

来源:互联网

有字段 A B 

select a,b from 表 group by a  

这时候b的值如何确定的?



还有 select a from 表 group by a;
和 select distinct(a) from 表;
哪个效率高?

作者: wminjay   发布时间: 2011-12-22

引用select a,b from 表 group by a

这时候b的值如何确定的?
逻辑上随便取一个B,但物理上实际是取第一个B,但哪一个是第一个,则是MYSQL自己根据记录处理顺序而定。
引用
还有 select a from 表 group by a;
和 select distinct(a) from 表;
哪个效率高?

理论上一样。有兴趣的话不妨测试一下。

作者: ACMAIN_CHM   发布时间: 2011-12-22

select a,b from 表 group by a  

这时候b的值如何确定的?

1、不是标准r的SQL语句;
2、随机选择B

还有 select a from 表 group by a;
和 select distinct(a) from 表;
哪个效率高?

如果数据量比较大,建议用distinct,速度快一些

作者: wwwwb   发布时间: 2011-12-22

引用楼主 wminjay 的回复:
有字段 A B

select a,b from 表 group by a

这时候b的值如何确定的?



还有 select a from 表 group by a;
和 select distinct(a) from 表;
哪个效率高?


用group by的效率要高。

作者: pxuxian   发布时间: 2011-12-22

与索引有关,在GROUP BY的字段上建立索引,GROUP BY速度快一些,反之,distinct快一些

作者: WWWWA   发布时间: 2011-12-22