web-dev-qa-db-fra.com

Comment compter des éléments uniques dans un champ dans une requête Access?

Ma table: table1

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

Commande SQL sur Access:

select count(*) from table1

Sortie: ------------> Vrai
6 rangée (s)

J'ai essayé de compter des noms uniques:

résultat attendu: 4 ligne (s)

select count(distinct Name) from table1

Sortie sur Access: ------------> Erreur

Quelles modifications dois-je apporter à ma requête?

24
user1526510

Essaye ça

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

Lire this pour plus d'informations.

40
yogi

Access-Engine ne supporte pas

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

Vous devez le faire comme ceci:

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

C'est un peu une solution de contournement ... vous comptez une sélection DISTINCT.

7
Jenson

Une astuce rapide à utiliser pour moi consiste à utiliser la requête SQL de recherche de doublons et à changer de 1 à 0 dans l'expression AIM. Comme ça:

SELECT COUNT([UniqueField]) AS DistinctCNT FROM
(
  SELECT First([FieldName]) AS [UniqueField]
  FROM TableName
  GROUP BY [FieldName]
  HAVING (((Count([FieldName]))>0))
);

J'espère que cela aide, pas de la meilleure façon, j'en suis sûr, et Access aurait dû intégrer cela.

1
Johnothan Rears