gpt4 book ai didi

sql - 使用 GROUP BY 子句时 SELECT DISTINCT 是否总是多余的?

转载 作者:行者123 更新时间:2023-12-03 09:19:26 26 4
gpt4 key购买 nike

是否存在添加 DISTINCT 会更改使用 GROUP BY 子句的 SELECT 查询的结果的情况?

Group by and distinct produce similar execution plans.

根据我的理解,使用 GROUP BY 子句的表只能包含来自 GROUP BY 或聚合函数的列。

List of aggregate functions似乎是确定性的,并且 GROUP BY 的组合是唯一的,因此我的假设是它是多余的。

编辑 1:在 SELECT 之后直接添加 DISTINCT 关键字。查询中的任何地方都不像@lad2025 的示例:SELECT name, COUNT(DISTINCT col) ... GROUP BY name。

最佳答案

您没有义务SELECT所有GROUP BY列,因此在这种情况下它会改变结果。

SELECT COUNT(*)
FROM sys.objects
GROUP BY schema_id, name

--- 或

SELECT DISTINCT COUNT(*)
FROM sys.objects
GROUP BY schema_id, name

关于sql - 使用 GROUP BY 子句时 SELECT DISTINCT 是否总是多余的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34273552/

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