Funciones De Agregacion Sql
Las funciones de agrupación operan sobre conjuntos de filas para dar un resultado por grupo. Así tenemos para atributosnuméricos
AVG da un amedia
SUM suma los valores
MIN calcula el valor mínimo
MAX calcula el valor máximo
Las funciones de agrupación ignoran losvalores NULL en las consultas, aunque se puede utilizar NVL (en Oracle) para forzar a que considere a NULL como un valor determinado.
SELECTAVG(NVL(sueldo,0))
FROM empleado
Calcula el sueldo medio de los empleados, considerando 0 los valores que sean NULL
Mediante la cláusula GROUP BY se dividen lasfilas que devuelve una consulta en pequeños grupos. Cuando lo utilicemos hay que tener en cuenta que todas las columnas que pongamos en el SELECT queno estén en el GROUP BY, han de estar en una función de agrupación.
Así es correcto
SELECT departamento, AVG(sueldo)
FROM empleados
GROUP BYdepartamento
Y no lo es
SELECT departamento, sueldo
FROM empleados
GROUP BY departamento
Tiene sentido ya que si agrupamos los empleados pordepartamente ¿el sueldo de cual nos devolvería?
Eso sí, la columna que pongamos en el GROUP BY no ha de estar en el SELECT y podemos utilizar más de una columna.Con GROUP BY no se utiliza WHERE, sino HAVING, que sirve para seleccionar grupos.
SELECT departamento, MAX(sueldo)
FROM empleados
GROUP BYdepartamento
HAVING MAX(sueldo) > 2000
En este nos selecciona el sueldo máximo agrupado por departamento, siempre y cuando el sueldo sea mayor que 2000
Regístrate para leer el documento completo.