MySQL compter dans le même tableau, y compris de comptage à zéro des valeurs
J'ai cette structure de table avec des données:
INSERT INTO `test` (`id`, `email`, `id_user_ref`, `name`) VALUES
(1, '[email protected]', NULL, 'Mike'),
(2, '[email protected]', '1', 'Jhonny'),
(3, '[email protected]', '1', 'Michael'),
(4, '[email protected]', '2', 'Jorhe'),
(5, '[email protected]', '3', 'Mia');
J'ai besoin de compter les id_user_ref pour tous les utilisateurs avec cette requête:
SELECT id, COUNT(name) AS refNr FROM test GROUP BY id_user_ref
HAVING id_user_ref IS NOT NULL;
Cela fonctionne, mais le problème est que j'ai besoin d'afficher tous les résultats, même si le résultat du comptage est de 0.
J'ai essayé plusieurs gauche rejoint à la même table, mais sans succès.
La sortie doit être:
id refNr
1 2
2 1
3 1
4 0
5 0
vous voulez compter le nombre d'utilisateurs mike invités? ensuite, vous allez courir dans une jointure interne de la table à elle-même: -)
Qu'est-ce que la sortie désirée que vous voulez obtenir à partir de cette requête?
j'ai besoin de savoir, pour chaque personne, combien de personnes ont leur id ref 0 compris
quoi?
j'ai ajouté le résultat attendu à la question
Qu'est-ce que la sortie désirée que vous voulez obtenir à partir de cette requête?
j'ai besoin de savoir, pour chaque personne, combien de personnes ont leur id ref 0 compris
quoi?
j'ai ajouté le résultat attendu à la question
OriginalL'auteur Dsp Marian | 2013-04-02
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
SQL Violon Démo
Cela vous donnera:
Vous êtes les bienvenus à tout moment 🙂
ON t1.id = t2.id_user_ref
ne fait aucun sens pour moi. Ces colonnes arnt la même chose!?La colonne
id
est l'id de l'utilisateur, la colonneid_user_ref
est un id de référence de laid
colonne, l'utilisateur est à la recherche d'un moyen pour obtenir le nombre de référence id de chaqueid
avec 0 pour ceux qui n'ont pas de référence. Donc, la façon de le faire est deLEFT JOIN
la même table, à l'instar de ce que j'ai fait dans ma requête.Aaah maintenant je l'ai eu! Merci pour l'explication :).
OriginalL'auteur Mahmoud Gamal
Pouvez-vous essayer ?
Sql Démo
OriginalL'auteur Biswanath