Microsoft Access SQL 查询计数不同

Posted

技术标签:

【中文标题】Microsoft Access SQL 查询计数不同【英文标题】:Microsoft Access SQL query count distinct 【发布时间】:2017-07-04 13:53:08 【问题描述】:

我正在尝试在 MS Access SQL 中创建一个执行两个单独计数功能的查询,并起草了以下代码:

SELECT DISTINCT A.Name, Count(A.Name) AS X, Count(b.Address) AS Y
FROM PEOPLE AS A INNER JOIN PEOPLE Sub AS b ON A.PID = b.PID
GROUP BY A.Nam

这个查询的问题是两个 count 函数都提供了每个名字的地址总数,我希望第一个 count 函数提供一个名字的计数,因此如果有人能告诉我如何我将不胜感激修改此代码以将第一个计数函数更改为不同的计数

谢谢

尼克

【问题讨论】:

请提供样本数据和预期结果 【参考方案1】:

您的查询错误 - GROUP BY 必须有 A.Name - 我认为这是复制错误。

否则更改此设置。如果你在没有 DISTINCT 的情况下这样做会发生什么?尝试使用 SUM 而不是 COUNT。

【讨论】:

【参考方案2】:

由于 GROUP BY 子句,您的查询中的不同已过时。

此外,尚不清楚您的“People sub”是指另一个表还是自联接。以下代码应该可以工作:

SELECT P.Name
, COUNT(P.*) AS X
, COUNT(DISTINCT A.Address) AS Y
FROM PEOPLE AS P 
INNER JOIN ADDRESS AS A ON A.PID = P.PID
GROUP BY P.Name

【讨论】:

以上是关于Microsoft Access SQL 查询计数不同的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access 交叉表查询中显示的多个客户 ID 的计数

Microsoft Access 使用 Access 中的 SQL 查询合并两个 Excel 文件

MS Access Sql 查询不是聚合函数的一部分。使用计数功能

如何在 Microsoft Access 中通过 VBA 设置 INSERT SQL 查询的参数值?

Microsoft Access SQL 查询中的字符串连接问题

Microsoft Access/SQL 错误参数框