Entiendo el punto de GROUP BY x
Pero, ¿cómo
GROUP BY x, y
funciona y qué significa?
sql
group-by
multiple-columns
l --''''''--------- '' '' '' '' '' ''
fuente
fuente
Respuestas:
Group By X
significa poner a todos aquellos con el mismo valor para X en un grupo .Group By X, Y
significa poner a todos aquellos con los mismos valores para X e Y en un grupo .Para ilustrar el uso de un ejemplo, digamos que tenemos la siguiente tabla, que tiene que ver con quién asiste a qué materia en una universidad:
Cuando usa un solo
group by
en la columna de asunto; decir:Obtendrás algo como:
... porque hay 5 entradas para ITB001 y 2 para MKB114
Si fuéramos a
group by
dos columnas:obtendríamos esto:
Esto se debe a que, cuando agrupamos por dos columnas, está diciendo "Agrúpelos para que todos aquellos con el mismo Asunto y Semestre estén en el mismo grupo, y luego calcule todas las funciones agregadas (Cuenta, Suma, Promedio, etc.) ) para cada uno de esos grupos " . En este ejemplo, esto se demuestra por el hecho de que, cuando los contamos, hay tres personas que hacen ITB001 en el semestre 1, y dos que lo hacen en el semestre 2. Ambas personas que hacen MKB114 están en el semestre 1, por lo que no hay fila del semestre 2 (no hay datos en el grupo "MKB114, semestre 2")
Esperemos que tenga sentido.
fuente
GROUP BY A,B
es lo mismo queGROUP BY B,A
?GROUP BY a, b
yGROUP BY a AND b
dado que el segundo solo enumera los elementos agrupados con exactamente el mismo contenido y sin "subgrupos". En este caso, la salida sería la misma que la primera.La
GROUP BY
cláusula se usa junto con las funciones agregadas para agrupar el conjunto de resultados por una o más columnas. p.ej:Recuerda esta orden:
Puede usar todo esto si está utilizando funciones agregadas, y este es el orden en que deben establecerse; de lo contrario, puede obtener un error.
Las funciones agregadas son:
fuente