Sql Access 2003-计算唯一值

Sql Access 2003-计算唯一值,sql,ms-access,Sql,Ms Access,如何计算Access 2003中的唯一值? 当我写这样的东西时: SELECT DISTINCT Customer FROM CustomersTable; 因此,我得到了唯一的客户,但如果此代码不起作用,如何计算他们: SELECT COUNT(*) 从“从客户表中选择不同的客户” 它导致错误:Microsoft Jet数据库引擎找不到输入表或查询“从CustomerTable中选择不同的客户”。确保它存在并且其名称拼写正确 数据库实例 因此,我希望有三个独特的客户 试试这个: Sele

如何计算Access 2003中的唯一值? 当我写这样的东西时:

SELECT DISTINCT Customer FROM CustomersTable;
因此,我得到了唯一的客户,但如果此代码不起作用,如何计算他们:

SELECT COUNT(*) 
从“从客户表中选择不同的客户”

它导致错误:Microsoft Jet数据库引擎找不到输入表或查询“从CustomerTable中选择不同的客户”。确保它存在并且其名称拼写正确

数据库实例

因此,我希望有三个独特的客户

试试这个:

Select 
    Customer, 
    count(Customer) as count
from
    CustomersTable
group by
    Customer
好的,你现在应该试试这个:

SELECT COUNT(DISTINCT Customer) FROM CustomersTable;

希望这有帮助。

您需要为子查询指定一个名称:

SELECT COUNT(*) 
  FROM (SELECT DISTINCT Customer FROM CustomersTable) AS T
编辑查询已更正

这在Access 2007中对我有效

SELECT Count(*) AS NumCustomers
FROM 
(
    SELECT Distinct CustomerAddress.Customer
    FROM CustomerAddress
)  AS DistinctCustomers;

我知道这个问题可能很久以前就被放弃了,但对于任何有这个问题的人来说都是如此,因为我在使用C应用程序执行类似任务时出错,并在这里找到了避难所:

这对我帮助很大,如果有问题,可以提供以下查询结构

    SELECT COUNT(columnName) as num_ofColumnNameEntries
    from
       (
        SELECT DISTINCT columnName FROM TableName
       )

语法有效,并统计不同客户值的数量。它对您有效吗?我有一个错误:Microsoft Jet数据库引擎找不到输入表或查询“从CustomerTable中选择不同的客户”。确保它存在并且名称拼写正确。是否尝试过此操作:从CustomerTable中选择COUNTDISTINCT Customer;Jet/ACE SQL不支持COUNTDISTINCT。它也不工作。Microsoft Jet数据库引擎找不到输入表或查询“从CustomerTable中选择不同的客户”。确保它存在并且名称拼写正确。@Amber:确定使用圆括号选择。。。作为T而不是正方形[选择…]?就我所记得的,Access查询设计器倾向于将前者转换为后者…@Amber:CustomerTable是同一数据库中的常规表吗?很抱歉这个愚蠢的问题,但它真的应该能工作……我知道,因为我在家里在另一个数据库中使用了这样的子查询,而且它能工作,而现在在我的办公室里它不能工作,所以我也很惊讶。@Amber:也许你在办公室有不同的Access版本?旧版本的Access不支持FROM子句中的子查询…请在问题中编辑它。创建一个类似表格的结构,以便更清楚地显示它。我没有得到你在评论中提到的任何东西。那不会输出一个列表X,2y,1z,1吗?如果我对OP的理解正确,他只希望输出为3。但是从[SELECT Customer,COUNTCustomer AS[count]中选择COUNTCustomer FROM Main GROUP BY Customer];工作很好。。。我不知道为什么写起来不容易…@Amber:Main?我以为你的桌子叫CustomerTable?是的,重复计数肯定是不必要的。好的,您应该尝试以下操作:从CustomerTable中选择COUNTDISTINCT Customer;抱歉,Access不支持此语法。语法错误查询表达式“COUNT DISTINCT Customer”中缺少运算符
    SELECT COUNT(columnName) as num_ofColumnNameEntries
    from
       (
        SELECT DISTINCT columnName FROM TableName
       )