2012-04-30 33 views
60

Tengo una tabla en mi base de datos mysql que tiene dos columnas: grupo y subgrupo. Vea abajo.Usando group by en dos campos y cuente en SQL

group, subGroup 
grp-A, sub-A 
grp-A, sub-A 
grp-A, sub-B  
grp-B, sub-A 
grp-B, sub-B 
grp-B, sub-B 

Estoy tratando de obtener el número de registros para cada grupo/subgrupo único.

Esto es lo que espero:

group, subGroup, count 
grp-A, sub-A, 2 
grp-A, sub-B, 1 
grp-B, sub-A, 1 
grp-B, sub-B, 2 

Después de leer algunos de los puestos que he intentado varias consultas SQL utilizando GROUP BY, count(), pero no logro para obtener el resultado esperado. ¿Cómo puedo arreglar esto?

Respuesta

107

Creo que está buscando: SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b

+1

Hola Corbinb. Muchas gracias. está funcionando. Hice lo que estás sugiriendo pero insisto en agrupar por a, b Hice grupo por a y b. Gracias de nuevo – Marc

+3

'a y b' parece una declaración a MySQL (no estoy seguro si sería un error de sintaxis o si se agruparía en el retorno 0 o 1 - supondría un error de sintaxis, especialmente para los campos varchar) . Para agrupar en varias columnas, solo usa una coma. – Corbin

+1

Muchas gracias! .. El problema conmigo fue que no pude formular mi pregunta y pasé mucho tiempo buscando en Google, finalmente llegué aquí para una solución simple y punto. –

6
SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup 
+0

En lugar del recuento, necesitaba todos los detalles del registro. Por ejemplo, grpA tiene dos subgrupos: subA y subB, por lo que necesito recuperar el registro completo para cada uno de los subgrupos. Alguien puede ayudarme por favor. @ user1127214 –

5

debe agrupar ambas columnas, grupo y subgrupo, a continuación, utilizar la función de agregado COUNT().

SELECT 
    group, subgroup, COUNT(*) 
FROM 
    groups 
GROUP BY 
    group, subgroup 
+0

tarde, pero esta respuesta realmente me salvó !!! –

+1

Parece un error tipográfico para mi grupo! = GroupName – csharpwinphonexaml

+0

En lugar del conteo, necesitaba todos los detalles del registro. Por ejemplo, grpA tiene dos subgrupos: subA y subB, por lo que necesito recuperar el registro completo para cada uno de los subgrupos. Alguien puede ayudarme por favor. @farzane –