我很困惑为什么那些查询返回不同数量的记录,请注意XXX表只包含三列A,B,C
查询1)
SELECT SUM (Counts) FROM
(
SELECT Count(*) Counts FROM dbo.XXX
GROUP BY A,B,C
HAVING COUNT(*) = 1
) T
查询2)
SELECT A, B, C
FROM [dbo].XXX
GROUP BY A,B,C
答案 0 :(得分:3)
也许是因为您的第一个查询只是对按组计数完全等于1的组进行求和。第二个查询将返回所有计数,无论计数组是一个还是多个。
因此,A,B和C的组合可能不止一次出现。如果是这种情况,那么您的计数就不会相同。
答案 1 :(得分:0)
查询1正在计算A,B和A的记录数。 C在表中是独一无二的。
查询2为您提供A,B和B的独特组合。表中的C.