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