Ответ 1
Попробуйте это
SELECT Count(*) AS N
FROM
(SELECT DISTINCT Name FROM table1) AS T;
Подробнее читайте .
Моя таблица: таблица1
ID Name Family 1 A AA 2 B BB 3 A AB 4 D DD 5 E EE 6 A AC
Команда SQL в Access:
select count(*) from table1
Результат: ------------ > True 6 строк (строк)
Я пытался подсчитать уникальные имена:
Ожидаемый результат: 4 ряда (строк)
select count(distinct Name) from table1
Выход на доступ: ------------ > Ошибка
Какие изменения мне необходимо внести в мой запрос?
Попробуйте это
SELECT Count(*) AS N
FROM
(SELECT DISTINCT Name FROM table1) AS T;
Подробнее читайте .
Access-Engine не поддерживает
SELECT count(DISTINCT....) FROM ...
Вы должны сделать это следующим образом:
SELECT count(*)
FROM
(SELECT DISTINCT Name FROM table1)
Немного обходной путь... вы считаете выбор DISTINCT.
Быстрый прием для меня - использовать SQL-запрос поиска дубликатов и изменить значение от 1 до 0 в выражении "Наличие". Как это:
SELECT COUNT([UniqueField]) AS DistinctCNT FROM
(
SELECT First([FieldName]) AS [UniqueField]
FROM TableName
GROUP BY [FieldName]
HAVING (((Count([FieldName]))>0))
);
Надеюсь, что это помогает, я уверен, что это не лучший способ, и Access должен был это встроить.