0
votes

Compter distinct dans MS Access - Comment compter le nombre de comptes avec au moins une activité d'un certain type?

J'ai une liste d'activités où un champ est nom indiquant le nom de la personne. Il y a un autre champ appelé activeType .

Fondamentalement, je souhaite retourner le nombre de comptes qui ont au moins un activeType égal à ret (indiquant un élément retourné). Étant donné qu'une personne peut avoir plusieurs retours au cours d'une année donnée, je ne veux pas compter le nombre de retours au total, le nombre de comptes qui ont au moins un re.

J'ai essayé diverses combinaisons de Sélectionnez des déclarations, des déclarations de compte, des déclarations, cela ne fonctionne tout simplement pas correctement.

Voici ce que j'ai essayé: xxx

mais cela semble renvoyer un nombre beaucoup plus grand que si je viens de faire une instruction SELECT: xxx


0 commentaires

3 Réponses :


1
votes

Je pense que vous avez besoin d'un nombre simple et de groupe par fonction. Étant donné que l'accès n'autorise pas compter distinct , vous devez d'abord sélectionner des enregistrements distincts, puis les compter - xxx

Ceci filtrera uniquement les enregistrements d'ActivityTpe = 'RET 'et ensuite comptera le nom de compte distinct.


4 commentaires

Cela ne semble pas aimer le nombre (activités distinctes.accountname) pièce, indique une erreur de syntaxe / opérateur manquant


J'ai supprimé la clause distincte lorsque MS Access ne prend pas en charge la clause de comptage distincte. S'il te plaît, essaye maintenant


Cela renvoie le même grand nombre qui ne correspond pas à l'instruction SELECT


S'il te plaît, essaye maintenant.



1
votes

Utilisez une sous-requête:

SELECT Count(*) AS ActiveAccounts
FROM
    (SELECT DISTINCT AccountName
    FROM Activities
    WHERE ActivityType = "RET")


0 commentaires

0
votes

Si activité / types ne peut pas être dupliqué, vous pouvez simplement utiliser:

select count(*) AS CountOfAccountName
from Activities
where Activities.ActivityType = "RET";


0 commentaires