为了账号安全,请及时绑定邮箱和手机立即绑定

组与不同组之间有什么区别吗?

组与不同组之间有什么区别吗?

墨色风雨 2019-07-10 10:21:16
组与不同组之间有什么区别吗?前几天我学到了一些关于SQL的简单知识:SELECT c FROM myTbl GROUP BY C其结果与:SELECT DISTINCT C FROM myTbl我好奇的是,SQL引擎处理命令的方式是否有什么不同,还是它们确实是同一回事?我个人更喜欢不同的语法,但我相信这更多是出于习惯。编辑:这不是一个关于聚合的问题。使用GROUP BY使用聚合函数是可以理解的。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

木原“在功能上,对您所提问题的回答是正确的;SQL Server很聪明地意识到,如果您使用的是”Group by“而没有使用任何聚合函数,那么实际上您的意思是”不同的“-因此它生成一个执行计划,就好像您只是使用了”DISTISTION“一样。”

不过,我认为值得注意的是汉克如果你不小心的话,对“Groupby”和“DISTION”的轻率处理可能会导致一些有害的问题。说这不是“关于聚合的问题”是不完全正确的,因为您在询问两个SQL查询关键字之间的功能差异,其中之一是用于聚合其中一个不是。

有时锤子可以用螺丝钉驱动,但如果你手头有螺丝刀,为什么还要麻烦呢?

(就本类推而言,Hammer : Screwdriver :: GroupBy : Distinctscrew => get list of unique values in a table column)


查看完整回答
反对 回复 2019-07-10
?
弑天下

TA贡献1818条经验 获得超8个赞

GROUP BY允许您使用聚合函数,如AVGMAXMINSUM,和COUNT..另一方面DISTINCT只是移除重复的。

例如,如果您有一堆采购记录,并且想知道每个部门花费了多少,您可以这样做:

SELECT department, SUM(amount) FROM purchases GROUP BY department

这将为每个部门提供一行,其中包含部门名称和所有amount值在该部门的所有行中。


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 676 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信