DISTINCT和GROUP BY的区别

如题所述

这两者本质上应该没有可比性,distinct 取出唯一列,group by 是分组,但有时候在优化的时候,在没有聚合函数的时候,他们查出来的结果也一样。

一、group by

英 [ɡru:p bai]   美 [ɡrup baɪ]  

[计][WIN]分组依据

拓展资料

1、This operator also serves as input to the Group By operator.

该操作符还充当Group By操作符的输入。

2、Complete the following steps to create and program the Group By operator. 

完成以下步骤,创建Group By操作符并对它进行配置。

3、With the appropriate access path, the ORDER BY or GROUP BY requirement can be met without sorting. 

使用恰当的访问路径,无需排序即可满足ORDER BY或GROUP BY需求。

4、Drag it to the right of the Group By operator. 

将它拖放到Group By操作符的右边。

二、distinct

英 [dɪˈstɪŋkt]   美 [dɪˈstɪŋkt]  

adj.明显的,清楚的;卓越的,不寻常的;有区别的;确切的

拓展资料

1、I have distinct memories of him in his last years. 

我清楚地记得他最后几年的情况。

2、Another Cup marathon between the two sides is now a distinct possibility. 

双方很可能再进行一场马拉松式的优胜杯比赛。

3、The photograph showed a distinct image. 

照片显出了明晰的影像。

4、I want a distinct answer to my question. 

我要求对我的问题作出明确的答复。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-13
他们的功能基本上是不一样的。
distinct消除重复行。
group
by是分组语句。
举例来说可能方便一点。
A表id
numa
1b
2c
3a
4c
7d
3e
5
如果只选出id列,用distinct和group
by
一样的。
select
distinct(id)
from
A;idabcde;select
id
from
A
group
by
id;idabcde;不同之处可能在于group
by有排序功能。
但是如果需要加上另一列num,结果不同。
group
by
是分组语句,如果用
select
id,num
from
A
group
by
id,num;
这样的结果在本例中与不加group
by是一样的,因为num各个不同。
但是如果select
id,num
from
A
group
by
id;
注意该语句是错误语句,因为num没有使用聚组函数,例如:sum(求和),avg(求平均数)
select
id,sum(num)
from
A
group
by
id;
id
sum(num)a
5b
2c
10d
3e
5
用distinct不显示重复的行。
在本例中select
distinct
id,num
from
A;的结果也和不加distinct一致。
因为id,num没有重复的行,而不是只看id。
group
by
功能更强大一些,另外推荐使用group
by。
因为distinct会导致全表扫描,而group
by如果索引建的
恰当的话,会有性能上的提高。

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

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

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

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

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

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

DISTINCT和GROUP BY的区别
select distinct(id) from A;idabcde;select id from A group by id;idabcde;不同之处可能在于group by有排序功能。但是如果需要加上另一列num,结果不同。group by 是分组语句,如果用 select id,num from A group by id,num;这样的结果在本例中与不加group by...

MySQL中distinct和group by性能比较
进一步分析,GROUP BY利用了并行处理的优势,将数据分组并进行聚合,而DISTINCT在默认情况下执行的是全局唯一reduce任务,限制了并行度。因此,当数据重复较少时,DISTINCT的效率会下降,而GROUP BY则更为适用。总结来说,对于重复量高的数据,DISTINCT可能提供更好的查询效率,而重复量低时,GROUP BY更为...

group by和distinct效果一样 是这样吗
如果只是为了去重,那么意义是一样的,但是group by应用的范围更广泛一些 如分组汇总,或者从聚合函数里筛选数据等 譬如:统计每个id的个数,并且只显示个数大于3个的 select id ,count(id) from table_name group by id having count(*)>3 这个是distinct做不到的 ...

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

相似回答
大家正在搜