gpt4 book ai didi

sql - GROUP BY 和 DISTINCT 有什么区别

转载 作者:行者123 更新时间:2023-12-01 16:24:04 26 4
gpt4 key购买 nike

前几天我学到了一些关于 SQL 的简单知识:

SELECT c FROM myTbl GROUP BY C

结果与:

SELECT DISTINCT C FROM myTbl

我很好奇,SQL 引擎处理命令的方式有什么不同,还是它们真的是一样的?

我个人更喜欢独特的语法,但我确信这更多的是出于习惯。

编辑:这不是关于聚合的问题。可以理解 GROUP BY 与聚合函数的使用。

最佳答案

MusiGenesis ' 对于您所提出的问题,答案在功能上是正确的; SQL Server 足够聪明,能够意识到如果您使用“Group By”而不使用任何聚合函数,那么您实际上的意思是“Distinct” - 因此它会生成一个执行计划,就好像您只是使用“Distinct”一样”

但是,我认为值得注意Hank的回应也是如此——如果你不小心的话,对“Group By”和“Distinct”的漫不经心的对待可能会导致一些有害的陷阱。说这“不是关于聚合的问题”并不完全正确,因为您询问的是两个 SQL 查询关键字之间的功能差异,其中一个用于聚合,而另一个则用于聚合。其中不是。

锤子有时可以拧入螺丝,但如果您手边有一把 Screwdriver ,何必麻烦呢?

(出于此类比的目的,Hammer : Screwdriver::GroupBy : Distinctscrew => 获取表列中唯一值的列表)

关于sql - GROUP BY 和 DISTINCT 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/164319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com