2012-08-09 2 views
17

Мой Стол: table1Как подсчитать уникальные элементы в поле в запросе Access?

ID Name Family 
1 A  AA 
2 B  BB 
3 A  AB 
4 D  DD 
5 E  EE 
6 A  AC

SQL команды на доступ:

select count(*) from table1 

Выход: ------------> True
6 строк (с)

Я пытался посчитать уникальные имена:

Ожидаемый результат: 4 строки (ы)

select count(distinct Name) from table1 

Выход по доступу: ------------> Ошибка

Какие изменения мне нужно по моему запросу?

+2

dafuq я только что прочитал .. на ваш вопрос? – Jenson

ответ

30

Попробуйте

SELECT Count(*) AS N 
FROM 
(SELECT DISTINCT Name FROM table1) AS T; 

Читать this для получения дополнительной информации.

+2

Я думаю, что даже этот SELECT count (*) FROM (SELECT DISTINCT Name FROM table1); Сделаю. –

+0

Да, может быть, я не уверен, но иметь псевдоним всегда лучше, чтобы псевдоним можно было использовать для извлечения других столбцов, но в этом конкретном случае вы правы, если «Access поддерживает этот синтаксис», конечно. – yogi

+0

Извините, но мы не можем найти нужную вам страницу. Ссылка мертва – yesitsme

5

Access-Engine не поддерживает

SELECT count(DISTINCT....) FROM ... 

Вы должны сделать это так:

SELECT count(*) 
FROM 
(SELECT DISTINCT Name FROM table1) 

его немного обходным путем ... вы подсчет DISTINCT выбора.

Смежные вопросы