ms access:Count,DISTINCT和Where子句。结果不同

时间:2017-06-12 15:46:12

标签: sql ms-access

我有两个查询应返回相同的结果。有谁知道为什么我得到不同的结果?

[HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP\ <Your trackpad> \3FingerGestures]

我也有这个查询

SELECT Count(Column1) AS UniqueValues
FROM (SELECT DISTINCT Column1, Column2 FROM Table1)  AS T
WHERE Column2 is not null;

通常我有5种类型的第2列,并且所有5个查询的总组合数与仅使用第1列得到的总结果不同。有谁知道为什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

SELECT DISTINCT Column1, Column2将包含两列的所有唯一组合。因此,如果Column1中的给定值与Column2中的两个不同值一起出现,则子查询将返回两个记录,其中之前只返回一个记录。

在这种情况下,您的行SELECT Count(Column1) As UniqueValues将返回2,而不是1.是的,两个记录的Column1值都相同,但COUNT()函数并不关心那。您提供了UniqueValues的名称,但此处没有任何内容要求Column1中的值是唯一的。