计数组中的区别通过Access 2007 SQL中的聚合函数

The*_*wer 4 sql ms-access-2007

您好我已经浏览了论坛一段时间,我在这里问我的第一个问题.我有点受约束,想知道我是否能得到一些帮助.我正在使用Access 2007,但尚未找到关于网络问题的良好答案.

我的数据是诊断代码和客户ID,我正在寻找的是为什么要为每个诊断代码找到不同的CustomerID数.理想情况下,在非Access SQL中,它看起来像这样:

SELECT DiagCode, Count(Distinct(CustomerID))
FROM CustomerTable
Group By DiagCode;
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常简单的问题,但我发现的答案要么太复杂(多个聚合函数),要么太简单.这是我为解决它而采取的一种方法,但这会产生太多结果:

SELECT DiagCode, Count(CustomerID)
FROM CustomerTable
WHERE CustomerID in (SELECT Distinct CustomerID from CustomerTable)
Group By DiagCode;
Run Code Online (Sandbox Code Playgroud)

希望我在这里清楚,就像我说的第一篇文章,任何帮助表示赞赏.

gza*_*axx 7

我不是MS Access的专家,上次我为它写了一些东西已经很长时间了,但这可能会起作用:

SELECT cd.DiagCode, Count(cd.CustomerID)
FROM (select distinct DiagCode, CustomerID from CustomerTable) as cd 
Group By cd.DiagCode;
Run Code Online (Sandbox Code Playgroud)