您好,我浏览了一段时间的论坛,并在这里问我的第一个问题。我有点束手无策,想知道是否能得到一些帮助。我正在使用Access2007,但尚未在网上找到一个很好的答案。
我的数据是诊断代码和客户ID,而我正在寻找的原因就是为什么要为每个诊断代码找到不同的客户ID计数。理想情况下,在非AccessSQL中,它看起来应该像这样:
SELECT DiagCode, Count(Distinct(CustomerID)) FROM CustomerTable Group By DiagCode;
我知道这是一个非常简单的问题,但是我发现的答案太复杂(多个聚合函数)或太简单了。这是我为解决此问题而采取的一种方法,但是返回的结果太多:
SELECT DiagCode, Count(CustomerID) FROM CustomerTable WHERE CustomerID in (SELECT Distinct CustomerID from CustomerTable) Group By DiagCode;
希望我在这里很清楚,就像我说的第一篇文章一样,感谢您的帮助。
我不是MS Access方面的专家,上次我为它编写任何内容都花了很长时间,但这也许行得通:
SELECT cd.DiagCode, Count(cd.CustomerID) FROM (select distinct DiagCode, CustomerID from CustomerTable) as cd Group By cd.DiagCode;