<分区>
我相信 SQL 中的 GROUP BY 会使 DISTINCT 变得不必要,因为如果您按列分组,那么结果中的每个值将只有一个,但我想确保我正确理解关键字。您是否不需要这样做:
SELECT DISTINCT a_uuid
FROM table
GROUP BY a_uuid
HAVING NOT bool_or(type = 'Purchase')
因为您可以完全放弃 DISTINCT?
标签 sql postgresql
<分区>
我相信 SQL 中的 GROUP BY 会使 DISTINCT 变得不必要,因为如果您按列分组,那么结果中的每个值将只有一个,但我想确保我正确理解关键字。您是否不需要这样做:
SELECT DISTINCT a_uuid
FROM table
GROUP BY a_uuid
HAVING NOT bool_or(type = 'Purchase')
因为您可以完全放弃 DISTINCT?
最佳答案
您不需要在此查询中使用 distinct
。通常,您不需要 distinct
和 group by
。实际上有一些查询同时使用 distinct
和 group by
,但这种情况很少见。
您在此查询中需要group by
,因为您在having
子句中使用聚合函数。所以,使用:
SELECT a_uuid
FROM table
GROUP BY a_uuid
HAVING NOT bool_or(type = 'Purchase')
关于sql - GROUP BY 本身就意味着 DISTINCT 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27529628/