文章目录

SQL中GROUP BY和DISTINCT有什么区别?

关于sql中的distinct语句,以前从来没有用到过,知道它也是无意中看到别人使用的。

如下面两个语句

SELECT c_id FROM cata GROUP BY c_id;

SELECT DISTINCT c_id FROM cata;

我发现他们都能得到一样的结果。

我觉得好奇的是,sql引擎处理这两个命令的方式有什么不同?

主要是个人觉得比较喜欢独特的语法,所以想知道group by和distinct有什么区别?

查阅了一些相关资料,说他们没有什么区别,因为sql会自动判别,如果使用group by而不使用任何聚合函数,那么实际上就和使用distinct一样。

只不过使用group by的时候可以使用聚合函数,而两者本质上没有什么不同。

就好像我们可以用锤子将螺丝锤进去,但如果我们有螺丝刀为什么不用这个更方便的工具呢?

因此如果你习惯了使用group by就用这个,或者要用到聚合函数的时候也用这个。

如果你习惯了了distinct就用这个,但是如果要用到聚合函数就使用group by语句。

本文网址:http://www.santii.com/article/187.html

您可能还会对这些SQL文章感兴趣


数据更新时间:2018-11-16