【发布时间】:2014-07-10 05:39:09
【问题描述】:
我无法弄清楚为什么会发生这种情况。 MySQL Query 之后返回 49 行,但每行中的“Total”显示为 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'
请帮我找出问题所在。
【问题讨论】:
-
DISTINCT t2.CIN, t1.Name与DISTINCT t2.CIN不同 -
是的,因为每一行你都在一遍又一遍地计算同样的东西。