2010-08-23 14 views
5

In einer Datenbank haben wir etwa 1000 registrierte Benutzer. Ich würde gerne wissen, wie viele dieser Benutzer tatsächlich eine Frage geschrieben oder eine Antwort geschrieben haben. Alle Informationen können aus der tblQA Tabelle entnommen werden und die Benutzer-ID ist "intPosterID", die Fragen & Antworten haben jeweils ihre eigene ID, "PostID". Gibt es eine Abfrage, die ausgeführt werden kann, um zu zählen, wie viele eindeutige Benutzer eine Frage oder Antwort gepostet haben?mySQL-Abfrage zum Zählen der Anzahl der eindeutigen Benutzer in der Datenbank

Antwort

5

den unterschiedlichen Benutzer-IDs Zählen kann folgendermaßen geschehen:

SELECT COUNT(DISTINCT intPosterID) FROM tblQA; 

COUNT(DISTINCT field) eine Zählung der Anzahl der Zeilen mit unterschiedlichen Werten für das Feld einer zurückgibt - intPosterID in diesem Fall.

+0

Fehler bei der Ressourcen-ID 11. $ unique = mysql_query ("SELECT COUNT (DISTINCT intPosterID) FROM tblQA)"; – BigMike

+0

Bewirkt das Ausführen der Abfrage den Fehler oder versuchen Sie, $ unique zu echo? Wenn Letzteres funktioniert, wird es nicht funktionieren, da es sich um eine Mysql-Ressource handelt, noch kein Ergebnis. Probieren Sie $ res = mysql_query ('QUERY_HERE'); $ unique = mysql_fetch_row ($ res); print_r ($ unique); – ConroyP

0

Dies sollte es tun.

select count(intPosterID) 
from tblQA 
group by intPosterID; 
+0

dies wird die Anzahl der Nicht-Null-Werte in der Spalte zurückgeben, nicht unbedingt die Anzahl der verschiedenen Werte. –

1

Count Beiträge pro Benutzer:

SELECT COUNT(PostID), intPosterID FROM tblQA GROUP BY intPosterId 

Zahlen results = Anzahl der Benutzer oder laufen ConroyP query

1

COUNT (DISTINCT Spalten) kann dafür verwendet werden:

SELECT COUNT(DISTINCT intPosterId) FROM tblQA; 
Verwandte Themen