MySQL count in der gleichen Tabelle, einschließlich der null-Werte zählen

Habe ich diese Struktur der Tabelle mit den Daten:

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');

Brauche ich um zu zählen id_user_ref für alle Benutzer mit dieser Abfrage:

SELECT id, COUNT(name) AS refNr FROM test GROUP BY id_user_ref
HAVING id_user_ref IS NOT NULL;

Funktioniert es, aber das problem ist, dass ich brauche, um alle Ergebnisse, auch wenn die Zählung Ergebnis ist 0.

Ich habe versucht, mehrere left joins mit der gleichen Tabelle, aber ohne Erfolg.

Die Ausgabe sollte sein:

id  refNr
1    2
2    1
3    1
4    0
5    0
  • Sie wollen zählen, wie viele user mike eingeladen? dann läuft man in einen inner-join aus der Tabelle zu sich selbst 🙂
  • Was ist die gewünschte Ausgabe, die Sie erhalten möchten aus dieser Abfrage?
  • ich muss wissen, wie für jeden Menschen, wie viele Personen haben Ihre id-ref einschließlich 0
  • was?
  • ich fügte hinzu, das erwartete Ergebnis zu der Frage
InformationsquelleAutor Dsp Marian | 2013-04-02
Schreibe einen Kommentar