SQL语句中的 Distinct 和 Group by 有什么不同,用那个好?

如题所述

两个意义不同,前者只是排除重复项,即关键字相同的几条记录只显示一条,而Group
by
品名,单位是把
品名,单位相同的项进行小计
一个有计算小计的作用,一个没有,怎么会一样呢?
如果你仅仅要求去掉重复记录,确实看不到区别,但如果需要计算就看出区别了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-14
distinct
关键字是指定
Field
不重复输出,如果是
*
来指定,那就所有项都不重复输出,(过滤重复项).
group
by
是按指定的
Field
项来分组查询.
两者大不相同,多尝试几次就明白了!
第2个回答  2019-03-24
group by 没有你那么用的,你那个语句的目的就用distinct
group
by是在求聚合的时候使用(比如sum,count等)
第3个回答  2019-08-02
distinct
在结果集里,过滤重复项
GROUP
BY
是聚集函数,用于分组的统计信息
两者的目的是不同的

SQL语句中的 Distinct 和 Group by 有什么不同,用那个好?
distinct能实现的功能,group by都可以实现,且group by 更为功能强大

SQL去重是用DISTINCT好,还是GROUP BY好?
使用GROUP BY去重 对比DISTINCT,GROUP BY同样具备去重功能。在不同数据重复量的场景下,其执行效率表现出一定的差异。当数据重复量较大时,使用GROUP BY进行去重的执行时间通常略低于使用DISTINCT。这是因为GROUP BY在分组后进行操作,可以减少不必要的数据处理。然而,当数据重复量较低时,使用DISTINCT进行...

group by与distinct有何区别
group by 功能更强大一些,另外推荐使用group by。因为distinct会导致全表扫描,而group by如果索引建的恰当的话,会有性能上的提高。

mysql下distinct 和group by的区别
这两者本质上应该没有可比性,distinct 取出唯一列,group by 是分组,但有时候在优化的时候,在没有聚合函数的时候,他们查出来的结果也一样。一、group by英 [ɡru:p bai] 美 [ɡrup baɪ][计][WIN]分组依据

distinct 和 group by 在查询多列数据去重复时的区别在哪
distinct只是将重复的行从结果中出去;group by是按指定的列分组,一般这时在select中会用到聚合函数。distinct是把不同的记录显示出来。group by是在查询时先把纪录按照类别分出来再查询。group by 必须在查询结果中包含一个聚集函数,而distinct不用。

mysql的group by和distinct的区别
DISTINCT操作只需要找出所有不同的值就可以了。而GROUP BY操作还要为其他聚集函数进行准备工作。从这一点上将,GROUP BY操作做的工作应该比DISTINCT所做的工作要多一些。除此之外,基本上看不到DISTINCT和GROUP BY(没有聚集函数的情况)有什么区别,而且从执行效率上也看不到明显的差异;

sqlserver 用distinct和group by哪个效率高
sql server数据库进行查询语句时,distinct和group by的效率比较,group by的效率更高一点,因为group by通过group进行排序而distinct是全表排序资源消耗更多。所以,group by效率更高。

对单个字段的结果进行去重,用distinct执行效率快,还是用group by快
distinct方式就是两两对比,需要遍历整个表。group by分组类似先建立索引再查索引,所以两者对比,小表destinct快,不用建索引。大表group by快。一般来说小表就算建索引,也不会慢到哪去,但是如果是TB级大表,遍历简直就是灾难。所以很多ORACLE项目都禁止使用distinct语句,全部要求替换成group by。

MySQL中distinct和group by性能比较
在MySQL这个广泛应用的关系型数据库中,DISTINCT和GROUP BY都具备去除重复数据的功能,但它们在性能上的差异引人关注。本文通过实际测试,比较了在不同情况下它们的效率。首先,我们通过创建测试表,插入大量数据,并进行无索引和有索引的情况下的查询。结果显示,加索引后,DISTINCT查询的速度提升了107倍,...

DISTINCT和GROUP BY的区别
这两者本质上应该没有可比性,distinct 取出唯一列,group by 是分组,但有时候在优化的时候,在没有聚合函数的时候,他们查出来的结果也一样。一、group by英 [ɡru:p bai] 美 [ɡrup baɪ][计][WIN]分组依据

相似回答