gpt4 book ai didi

MySQL SELECT DISTINCT 返回不同的结果

转载 作者:行者123 更新时间:2023-11-29 08:01:05 25 4
gpt4 key购买 nike

我无法弄清楚为什么会发生这种情况。以下 MySQL 查询返回 49 行,但每行中的“总计”显示为 48。

SELECT DISTINCT t2.CIN, t1.Name, 
(SELECT COUNT(DISTINCT CIN) FROM `cSignatoryAssociations` WHERE DIN ='00016902') As Total
FROM `cSignatoryAssociations` t2
LEFT JOIN `cRoC` t1 ON t1.CIN = t2.CIN
WHERE t2.DIN='00016902'
ORDER BY SUBSTRING(t1.CIN,9,4) DESC;

当单独运行以下代码时,我得到预期结果,即 49。

SELECT COUNT(DISTINCT CIN) FROM `cSignatoryAssociations` WHERE DIN ='00016902'

请帮我找出问题所在。

最佳答案

正如你所说

SELECT COUNT(DISTINCT CIN) FROM `cSignatoryAssociations` WHERE DIN ='00016902'

返回 49 行。但这是一个子 Select,主 Select 也有一个 Distinct。

带有 Distinct 的主选择将删除相同的行,情况就是如此。

Whole Select 将返回 49 行,但有 2 个相同的元组,Distinct 将删除一个。所以结果将是 48 行。

关于MySQL SELECT DISTINCT 返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785557/

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