2.2.1. Funciones de agregado

El objetivo del agrupamiento de registros con un campo en común es obtener información que resuma alguna característica de dichos registros: su número, la suma o el promedio de algún campo numérico. Estas operaciones aritméticas se introducen en el campo del que se obtienen los datos y se denominan funciones de agregado.
Icono IDevice Actividad
Una función de agregado permite realizar cálculos aritméticos con los valores de un campo incluido en una consulta con agrupamiento de registros. 

Las funciones más utilizadas son:

AVG
Calcula el promedio (la media aritmética) de los valores contenidos en el campo indicado en el argumento de la función.
COUNT
Cuenta los registros agrupados para cada valor distinto del campo de agrupación, independientemente de su contenido (texto o numérico.
MAX
Selecciona el valor máximo del campo indicado en el argumento.
MIN Selecciona el valor mínimo del campo indicado en el argumento.
SUM
Suma los valores de los campos indicados en el argumento.

Su sintaxis es: FUNCIÓN (campo). Sin embargo pueden situarse en dos posiciones dependiendo de su objetivo en la sentencia:

  • Deben situarse como parte del comando SELECT cuando se usan en una consulta de agrupamiento de registros.
  • Deben situarse tras la palabra HAVING cuando se usan para filtrar el agrupamiento de registros.
Icono de iDevice AV - Actividad de Espacios en Blanco

¿En qué posición de la sentencia SQL situarías la función de agregado en cada caso?

a) Calcular el promedio de pedidos por cada cliente.

b) Mostrar los clientes cuyo promedio de pedidos es mayor de 7.

SELECT "Destinatario" FROM "Pedidos" GROUP BY "Destinatario"
  

El campo obtenido tras la aplicación de una función de agregado tiene un nombre diferente, puesto que realmente es un campo resumen en el que se presenta un resultado.
El nombre adjudicado a dicho campo es el nombre de la función y del campo objeto de dicha función. En el ejercicio anterior: AVG ("IDPedido").
Para evitar confusiones y clarificar la vista de las consultas de agrupamiento se debe asignar un alias con la cláusula AS a dicho campo.
AV - Pregunta Verdadero-Falso


a) Las funciones de agregado se aplican sobre campos con contenido numérico.

Verdadero Falso


b) La función MAX aplicada a un campo de texto devuelve la última letra en orden alfabético.

Verdadero Falso


c) El alias se usa para ocultar la función de agregado aplicada.

Verdadero Falso


d) Las funciones de agregado pueden usarse como criterios de filtrado en la claúsula HAVING.

Verdadero Falso
Icono IDevice Objetivos

La función COUNT se puede usar sin GROUP BY. Esta función cuenta los registros seleccionados en un agrupamiento o en un SELECT.

Se utiliza SELECT COUNT Campo FROM tabla, para contar todos los registros de una tabla o sólo los que cumplan una condición si se añade WHERE.

 

 

Esta función se usa tanto para contar registros en una consulta o tabla, o registros con un valor distinto con la claúsula DISTINCT.

La sentencia:

SELECT COUNT (DISTINCT Campo1) FROM Tabla

 

Devuelve el número de registros cuyo valor en el campo Campo1 es distinto.

Por ejemplo, para saber cuántas empresas han realizado pedidos se puede usar SELECT COUNT (DISTINCT "Destinatario") FROM "Pedidos"