2011-11-25 39 views
11

Estoy usando mysql y php.Seleccionar el recuento para cada fila distinta (mysql y php)

Tengo una tabla con una columna. Puedo mostrar filas únicas por:

select distinct id from id_table 

Esto podría mostrar

1 
2 
3 
5 

Lo que quiero hacer es mostrar el número de 1 de, 2'S, etc existen.

que podía hacer

select count(id) from id_table where id = 1 

Pero luego tengo que ejecutar una consulta para cada fila ... sola ... ... Y con cientos de miles de filas, no es bueno.

¿Hay una manera de devolver una matriz de los cargos de cada elemento distinto

datos

1, 1, 1, 2, 3, 3, 5 

Resultados

3, 1, 2, 1 

Gracias

Respuesta

18
select id, count(id) 
from table 
group by id 

Si sólo desea recuento de identificadores, entonces

select count(id) 
from table 
group by id 

Aquí es un simple tutorial de grupo por cláusula

http://www.w3schools.com/sql/sql_groupby.asp

+0

usando la primera solución. Gracias. –

Cuestiones relacionadas