Las funciones de agregado Las funciones de a g re gado son funciones que permiten obtener un resultado basado en los valores contenidos en una columna de una tabla, son funciones que sólo se pueden utilizar en una consulta de resumen ya que obtienen un 'r esumen' de los valor es contenidos en las filas de la tabla. Para utilizar estas funciones podemos escribirlas directamente en la fila Campo: de la cuadrícula como veremos más adelante pero podemos utilizar una forma más cómoda que es seleccionando en la fila Total: de la cuadrícula la opción correspondiente a la función. A continuación describiremos esas opciones. La opción Suma calcula la suma de los valores indicados en el campo. Los datos que se suman deben ser de tipo numérico (entero, decimal, coma flotante o monetario...). La opción Pr omedio calcula el pr omedio (la media aritmética) de los valores contenidos en el campo, también se aplica a da tos numéricos , y en este caso el tipo de dato del resultado puede cambiar según las necesidades del sistema para representar el valor del resultado. Las opciones Mín y Max determinan los valor es menor es y may or es respectivamente de la columna. Los valores de la columna pueden ser de tipo numérico , te xto o fec ha . El resultado de la función tendrá el mismo tipo de dato que la columna. Si la columna es de tipo numérico Mín devuelve el valor menor contenido en la columna, si la columna es de tipo te xto Mín devuelve el primer valor en or den al fabético , y si la columna es de tipo fec ha , Mín devuelve la fec ha más antigua y Max la fec ha más posterior . Las opciones Primer o y Último se utilizan para obtener el primer y último registro del grupo sobre el que se realizan los cálculos. El orden lo determina el orden cronológico en el que se escribieron los registros. Ordenar los registros no tiene ningún efecto sobre estas opciones. La opción Expr esión permite poner en la fila Campo: una expresión en vez de un nombre de columna. Esta expresión tiene ciertas limitaciones. Sólo puede contener operandos que
sean funciones de agregado (las funciones que acabamos de ver (suma( ), Pr omedio( ), Des vEst ( ), Mín ( ), Max( )... ) valores fijos o nombres de columna que aparezcan con la opción Ag r uparP or . En una expresión se pueden combinar varias funciones de agregado pero no se pueden anidar funciones de a g re gado , por ejemplo en una expresión puedo poner Max( nºhor as )-Mín (nºhor as ) pero no Max( suma( nºhor as )) . http:// www .aulac lic.es /access2002 /t_8_1.htm
MAX Devuelve el valor máximo de la expresión Sintaxis MAX ( [ALL | DISTINCT ] expression ) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que se tiene en cuenta cada valor único. DISTINCT no tiene ningún significado con MAX y sólo se incluye para la compatibilidad con ISO.
Expression Se trata de una constante, nombre de columna o función y cualquier combinación de operadores aritméticos, bit a bit y de cadena. MAX se puede usar con columnas de tipo numeric , char acter y da tetime , pero no con columnas de tipo bit .No se permiten funciones de agregado ni subconsultas Notas MAX pasa por alto los valores NULL.
MIN Devuelve el valor mínimo de la expresión. Sintaxis MIN ( [ ALL | DISTINCT ] expression ) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que se tiene en cuenta cada valor único. DISTINCT no tiene ningún significado con MIN y sólo se incluye para la compatibilidad con ISO.
Expresión Se trata de una constante, nombre de columna o función, y cualquier combinación de operadores aritméticos, bit a bit y de cadena. MIN se puede usar con columnas de tipo numeric , char , var cha r o da tetime , pero no con columnas de tipo bit .No se permite utilizar funciones de agregado ni subconsultas. Tipos de valor devueltos Devuelve un valor igual a expresión. Notas MIN pasa por alto los valores NULL. En el caso de columnas de datos de caracteres, MIN busca el valor más bajo en la secuencia de ordenación. AVG Devuelve el promedio de los valores de un grupo. Los valores NULL se pasan por alto. Puede ir seguida de la cláusula OVER. Sintaxis AVG ( [ ALL | DISTINCT ] expression ) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado.
DISTINCT Especifica que AVG se ejecute sólo en cada instancia única de un valor, sin importar el número de veces que aparezca el valor.
Expresión Es una expresión de la categoría de tipo de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit . No se permite utilizar funciones de agregado ni subconsultas. Tipos de valor devueltos El tipo de valor devuelto viene determinado por el tipo del resultado evaluado de expresión. Notas Si el tipo de datos de expresión es un tipo de datos de alias, el tipo de valor devuelto es también del tipo de datos de alias. No obstante, si se asciende el tipo de datos base del tipo de datos de alias, por ejemplo, de tinyint a int , el valor devuelto es del tipo de datos ascendido, no del tipo de datos de alias. AVG () calcula la media de un conjunto de valores dividiendo la suma de estos valores por el recuento de valores no NULL. Si la suma supera el valor máximo para del tipo de datos del valor devuelto, se devolverá un error SUM Devuelve la suma de todos los valores o sólo de los valores DISTINCT de la expresión. SUM sólo puede utilizarse con columnas numéricas. Los valores Null se pasan por alto. Puede ir seguida de la OVER (cláusula de Transact-SQL). Sintaxis SUM ( [ ALL | DISTINCT ] expression ) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que SUM devuelve la suma de los valores únicos.
Expresión Es una constante, columna o función y cualquier combinación de operadores aritméticos, bit a bit y de cadena. expresión es una expresión de la categoría del tipo de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit . No se permiten funciones de agregado ni subconsultas. Para obtener más información, vea Expresiones (Transact-SQL). Tipos de valor devueltos Devuelve la suma de todos los valores de expresión con el tipo de datos expresión más preciso. COUNT Devuelve el número de elementos de un grupo. COUNT funciona como COUNT_BIG. La única diferencia entre ambas funciones está en los valores devueltos. COUNT siempre devuelve un valor de tipo de datos int . COUNT_BIG siempre devuelve un valor de tipo de datos bigint . Puede ir seguida de la cláusula OVER. Sintaxis COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } ) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que COUNT devuelva el número de valores únicos no NULL.
Expression Es una expression de cualquier tipo excepto te xt , ima ge o nte xt . No se permite utilizar funciones de agregado ni subconsultas. Especifica que se deben contar todas las filas para devolver el número total de filas de una tabla. COUNT(*) no acepta parámetros y no se puede utilizar con DISTINCT. COUNT(*) no requiere un parámetro expression porque, por definición, no utiliza información sobre ninguna columna específica. COUNT(*) devuelve el número de filas
de una tabla especificada sin deshacerse de las duplicadas. Cuenta cada fila por separado. Se incluyen las filas que contienen valores NULL. Tipos de valor devueltos int Notas COUNT(*) devuelve el número de elementos de un grupo. Se incluyen valores NULL y duplicados. COUNT(ALL expression) evalúa expression en todas las filas del grupo y devuelve el número de valores no NULL. COUNT(DISTINCT expression) evalúa expression en todas las filas del grupo y devuelve el número de valores no NULL únicos. Si los valores devueltos son superiores a 2^31-1, COUNT genera un error. En su lugar, utilice COUNT_BIG. http://technet.microsoft.com/es-es/library/ms173454.aspx
Puede utilizar las siguientes funciones de agregado: Función de a g re gado
AVG (expr)
Desc ripción
Promedio de los valores de una columna. La columna sólo puede contener valores numéricos.
Recuento de valores de una columna (si especifica un nombre de columna como expr) o COUNT(expr), de todas las filas de una tabla o un grupo (si especifica *). COUNT(expr) no tiene en cuenta los COUNT(*) valores nulos, pero COUNT(*) los incluye en el recuento.
MAX (expr)
Valor máximo de una columna (en el caso de tipos de datos de texto, el último valor alfabético). Omite los valores null.
MIN (expr)
Valor mínimo de una columna (en el caso de los tipos de datos de texto, el primer valor alfabético). Omite los valores null.
SUM (expr)
Número total de valores de una columna. La columna sólo puede contener valores numéricos.
http://m sdn.micr osoft.com /eses/libr ar y/c0f7a054(VS.80).aspx