Agrupación y Funciones de Agregado

Para agrupar registros se utiliza la sentencia GROUP BY: su traducción es “AGRUPAR POR”, esta instrucción agrupa las filas de la consulta basándose en los valores de una o más columnas. Puede ser el nombre de un campo normal de una tabla, o un campo que incluya una función de campo SQL, o una expresión numérica indicando la posición de la columna en la tabla resultado (la columna más a la izquierda tiene el número 1).

Las siguientes funciones de campo están disponibles para ser utilizadas con un elemento seleccionado que sea un campo o una expresión que implique a un campo:

AVG(Elemento_Selección), que realiza una media (promedio) de una columna de datos numéricos.
COUNT(Elemento_Selección), que cuenta el número de elementos seleccionados en una columna. COUNT(*) cuenta el número de filas en el resultado de la consulta.
MIN(Elemento_Selección) determina el menor valor de Elemento_Selección en una columna.
MAX(Elemento_Selección) determina el mayor valor de Elemento_Selección en una columna.
SUM(Elemento_Selección) que proporciona el total de la suma de una columna de datos numéricos. 

Ej. 1: Se desea conocer la cantidad de alumnos por carrera:

SELECT Id_Carrera, COUNT(*) AS Cantidad
FROM Alumnos 
GROUP BY Id_Carrera

Ej. 2: Se desea conocer el promedio de notas por alumno:

SELECT Legajo, Apellido, Nombre, AVG(Nota) AS Promedio
FROM Alumnos, Notas 
WHERE Alumnos.Legajo=Notas.Legajo
GROUP BY Legajo, Apellido, Nombre

Ej. 3: Se desea conocer la mayor y menor calificación de cada Alumno.

SELECT Legajo, Apellido, Nombre, MIN(Nota) AS Nota_Mínima , MAX(Nota) AS Nota_Máxima
FROM Alumnos, Notas 
WHERE Alumnos.Legajo=Notas.Legajo
GROUP BY Legajo, Apellido, Nombre

Deja un comentario

Esta página web utiliza cookies    Más información
Privacidad