Access 2003 - подсчет уникальных значений - PullRequest
0 голосов
/ 23 августа 2011

Как посчитать уникальные значения в Access 2003? Когда я пишу что-то вроде этого:

SELECT DISTINCT Customer FROM CustomersTable;

У меня есть уникальные клиенты, но как их посчитать, если этот код не работает:

SELECT COUNT(*) 

FROM (SELECT DISTINCT Customer FROM CustomersTable )

(это вызывает ошибку: «Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос« SELECT DISTINCT Customer FROM CustomersTable ». Убедитесь, что оно существует и что его имя написано правильно»)

Пример базы данных

--Customer -- Address -- 
X               NY 
X               OR 
Y               AR 
Z               WA 

И я хотел бы получить в результате 3 (три уникальных клиента.)

Ответы [ 4 ]

1 голос
/ 23 августа 2011

Вам нужно дать вашему подзапросу имя:

SELECT COUNT(*) 
  FROM (SELECT DISTINCT Customer FROM CustomersTable) AS T
1 голос
/ 23 августа 2011

Попробуйте это:

Select 
    Customer, 
    count(Customer) as count
from
    CustomersTable
group by
    Customer

Хорошо, вы должны попробовать это сейчас:

SELECT COUNT(DISTINCT Customer) FROM CustomersTable;

Надеюсь, это поможет.

0 голосов
/ 18 мая 2016

Я знаю, что этот вопрос, вероятно, был давно отменен, но только для тех, у кого возникла эта проблема, поскольку у меня были ошибки при использовании приложения C # для выполнения аналогичной задачи, и я нашел здесь убежище: http://www.geeksengine.com/article/access-distinct-count.html

Это мне очень помогло и, если сломалось, дало следующую структуру запроса

    SELECT COUNT(columnName) as num_ofColumnNameEntries
    from
       (
        SELECT DISTINCT columnName FROM TableName
       )
0 голосов
/ 23 августа 2011

Edit (Query Corrected)

Это сработало для меня в Access 2007

SELECT Count(*) AS NumCustomers
FROM 
(
    SELECT Distinct CustomerAddress.Customer
    FROM CustomerAddress
)  AS DistinctCustomers;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...