gpt4 book ai didi

sql - 为什么 COUNT(DISTINCT (*)) 不起作用?

转载 作者:行者123 更新时间:2023-12-02 12:18:33 24 4
gpt4 key购买 nike

我仍然很惊讶为什么这样简单的查询不起作用:

SELECT COUNT(DISTINCT *) FROM dbo.t_test     

哪里

SELECT COUNT(DISTINCT col1) FROM dbo.t_test

SELECT DISTINCT * FROM dbo.t_test 

有效。

有什么替代方案吗?

编辑:

DISTINCT * 检查 (col1,col2,...) 组合键的唯一性并返回这些行。我期望 COUNT(DISTINCT *) 仅返回此类行的数量。我在这里遗漏了什么吗?

最佳答案

它不起作用,因为您只能根据 documentationCOUNT(DISTINCT ...) 中指定单个表达式。 :

COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )

如果仔细观察,您会发现允许的语法包括COUNT(DISTINCT *)

替代方案是这样的:

SELECT COUNT(*) FROM
(
SELECT DISTINCT * FROM dbo.t_test
) T1

关于sql - 为什么 COUNT(DISTINCT (*)) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010470/

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