2010-08-23 20 views
5

En una base de datos tenemos alrededor de 1000 usuarios registrados. Me gustaría saber cuántos de esos usuarios realmente han escrito una pregunta o publicado una respuesta. Toda la información puede tomarse de la tabla tblQA y el ID de usuario es "intPosterID", las preguntas & cada una tiene su propia ID, "PostID". ¿Hay una consulta que se puede ejecutar para contar cuántos usuarios únicos han publicado una pregunta o respuesta?consulta mySQL para contar el número de usuarios únicos que publican en la base de datos

Respuesta

5

Contando los identificadores de usuario diferentes se puede hacer a través de:

SELECT COUNT(DISTINCT intPosterID) FROM tblQA; 

COUNT(DISTINCT field) devuelve un recuento del número de filas con diferentes valores para el campo dado - intPosterID en este caso.

+0

Obteniendo el error de identificación de recursos # 11. $ unique = mysql_query ("SELECT COUNT (DISTINCT intPosterID) FROM tblQA)"; – BigMike

+0

¿La ejecución de la consulta le da el error o está intentando hacer eco de $ unique? Si es lo último, no funcionará, ya que es un recurso Mysql, no un resultado todavía. Pruebe $ res = mysql_query ('QUERY_HERE'); $ unique = mysql_fetch_row ($ res); print_r ($ único); – ConroyP

0

Esto debería hacerlo.

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

esto devolverá el número de valores no nulos en la columna, no necesariamente el número de valores diferentes. –

1

COUNT publicaciones por usuario:

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

números de resultados = número de usuarios o de la consulta ConroyP ejecutar

1

COUNT (ColumnName DISTINCT) se puede utilizar para que:

SELECT COUNT(DISTINCT intPosterId) FROM tblQA; 
Cuestiones relacionadas