2010-08-23 12 views
5

In un database abbiamo circa 1000 utenti registrati. Mi piacerebbe sapere quanti di questi utenti hanno effettivamente scritto una domanda o pubblicato una risposta. Tutte le informazioni possono essere ricavate dalla tabella tblQA e l'id utente è "intPosterID", le domande & hanno ciascuna un proprio ID, "PostID". Esiste una query che può essere eseguita per contare quanti utenti unici hanno pubblicato una domanda o una risposta?query mySQL per contare il numero di utenti unici che inviano al database

risposta

5

Contare le userids distinte può essere realizzata attraverso:

SELECT COUNT(DISTINCT intPosterID) FROM tblQA; 

COUNT(DISTINCT field) restituisce un conteggio del numero di righe con valori diversi per il campo data - intPosterID in questo caso.

+0

Errore di ID risorsa # 11. $ unique = mysql_query ("SELECT COUNT (DISTINCT intPosterID) FROM tblQA)"; – BigMike

+0

L'esecuzione della query ti dà l'errore o stai cercando di echo $ unique? Se quest'ultimo non funziona, è una risorsa Mysql, non ancora un risultato. Prova $ res = mysql_query ('QUERY_HERE'); $ unique = mysql_fetch_row ($ res); print_r ($ unico); – ConroyP

0

Questo dovrebbe farlo.

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

restituirà il numero di valori non nulli nella colonna, non necessariamente il numero di valori diversi. –

1

messaggi Count per utente:

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

numeri di risultati = numero di utenti o query ConroyP eseguire

1

COUNT (columnname DISTINCT) può essere usato per questo:

SELECT COUNT(DISTINCT intPosterId) FROM tblQA; 
Problemi correlati