Je veux compter le nombre d'éléments distincts dans une colonne soumise à une certaine condition, par exemple si le tableau est comme ceci:
tag | entryID
----+---------
foo | 0
foo | 0
bar | 3
Si je veux compter le nombre de balises distinctes comme "nombre de balises" et compter le nombre de balises distinctes avec un identifiant d'entrée> 0 comme "nombre de balises positives" dans le même tableau, que dois-je faire?
Je compte maintenant à partir de deux tables différentes où, dans la deuxième table, je n'ai sélectionné que les lignes avec entryID supérieur à zéro. Je pense qu'il devrait y avoir un moyen plus compact de résoudre ce problème.
Essayez la déclaration suivante:
Le premier champ sera la balise, le second sera le nombre total, le troisième sera le nombre de positifs.
la source
Cela peut fonctionner:
et
la source
Cela peut également fonctionner:
Vous avez besoin de la condition entryID dans la jointure de gauche plutôt que dans une clause where pour vous assurer que tous les éléments qui n'ont qu'un entryID de 0 sont correctement comptés dans le premier DISTINCT.
la source
Le code compte la combinaison unique / distincte de balise et d'ID d'entrée lorsque [Entry Id]> 0
Dans la sortie, il affichera le nombre de valeurs uniques J'espère que cela aide
la source