distinct和group by的区别

 我来答
OfferComing留学
2022-12-23 · OfferComing一站式留学攻略
OfferComing留学
向TA提问
展开全部

这两者本质上应该没有可比性,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. 

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

森林之黄
高粉答主

2017-10-01 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:1.3万
采纳率:94%
帮助的人:1025万
展开全部
他们的功能基本上是不一样的。
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如果索引建的
恰当的话,会有性能上的提高。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式