2010-05-19 21 views
29

Tengo una base de datos de Postgre que tiene, por ejemplo, 10 columnas. La quinta columna se llama column5. Hay 100 filas en la base de datos y los valores posibles de column5 son c5value1, c5value2, c5value3...c5value29, c5value30. Me gustaría imprimir una tabla que muestre cuántas veces ocurre cada valor.¿Cómo contar el número de ocurrencias para todos los valores diferentes en la columna de la base de datos?

lo que la tabla se vería así:

Value(of column5)   number of occurrences of the value 
    c5value1        1 
    c5value2        5 
    c5value3        3 
    c5value4        9 
    c5value5        1 
    c5value6        1 
     .         . 
     .         . 
     .         . 

¿Cuál es el comando que hace eso?

Respuesta

63

Grupo por la columna que está interesado y luego usar la cuenta para obtener el número de filas en cada grupo:

SELECT column5, COUNT(*) 
FROM table1 
GROUP BY column5 
+0

I quiero hacer lo mismo Pero, en lugar de columnas, quiero contar la ocurrencia de un valor en cada fila? cómo hacerlo ? –

15

utilizar la cláusula GROUP BY y la COUNT() función agregada:

SELECT column5, COUNT(column5) AS Occurences 
FROM myTable 
GROUP BY column5 
Cuestiones relacionadas