Funciones de agregado

Funciones de agregado

Devuelven estadísticas usando campos numéricos de las tablas.  Solamente Count se puede usar con campos que no son numéricos o se puede usar asterisco (*).

Las funciones de agregado se usan generalmente para obtener información desde varias tablas (Ver Joins) haciendo cálculos en base a un detalle, por ejemplo, poder calcular la cantidad de facturas o boletas generadas por un empleados, el total de compras de un clientes, el promedio de monto de los documentos de compra de los proveedores, etc

Las funciones de agregado son las siguientes:

AVG Devuelve el Promedio de los valores
MIN Devuelve el valor Mínimo
SUM Suma los valores
COUNT Cuenta la cantidad de celdas
STDEV Devuelve la desviación estándar Muestral
STDEVP Devuelve la desviación estándar Poblacional
VAR Devuelve la Varianza muestral
VARP Devuelve la Varianza Poblacional
MAX Devuelve el valor Máximo



Ejercicios

— Usando Northwind
use Northwind
go

— El promedio de Precios de los productos
select AVG(P.UnitPrice) As Promedio from Products as P
go
— El Precio mas alto de los productos
select Max(P.UnitPrice) As ‘Precio mayor’ from Products as P
go

— El Precio mas bajo de los productos
select Min(P.UnitPrice) As ‘Precio menor’ from Products as P
go

— Cantidad de Productos
select Count(*) As ‘Cantidad de Productos’ from Products as P
go

— Cantidad de Productos en Stock
select Sum(P.UnitsInStock) As ‘Productos en Stock’ from Products as P
go

— Valor total de los Productos en Stock
select Sum(P.UnitsInStock * P.UnitPrice) As ‘Productos en Stock’ from Products as P
go

— Monto total vendido en el año 1997 y la cantidad de órdenes
select Sum(O.Freight) As ‘Monto total’, COUNT(O.OrderID) As ‘Cantidad’
from Orders As O where YEAR(O.OrderDate) = 1997
go

— Stock mas alto y mas bajo de productos
select Max(P.UnitsInStock) As ‘Cantidad mas alta de Productos en Stock’,
Min(P.UnitsInStock) As ‘Cantidad mas baja de Productos en Stock’
from Products as P
go

— Cantidad vendida del producto con código 23
select sum(Od.Quantity) As ‘Unidades Producto 23’
from [Order Details] As OD where ProductID = 23
go

— Cantidad de órdenes generadas y monto total vendido del Empleado con código 3
select Count(O.OrderID) As ‘Cantidad’, SUM(O.Freight) As ‘Monto Total’
from Orders As O where EmployeeID = 3
go