implementación de bases de datos agrupamiento y funciones de agregado

15
IMPLEMENTACIÓN DE BASES DE DATOS

Upload: mc-omar-jasso

Post on 29-Jun-2015

6.102 views

Category:

Education


1 download

DESCRIPTION

Material sobre agrupamiento en SQL y funciones de agregado

TRANSCRIPT

Page 1: Implementación de bases de datos agrupamiento y funciones de agregado

IMPLEMENTACIÓN DE BASES DE DATOS

Page 2: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

INTRODUCCIÓN A TRANSACT-SQL

1 INTRODUCCION A TRANSACT-SQL1.1 Consultas de selección1.2 Criterios de selección1.3 Agrupamiento de registros y funciones agregadas1.4 Consultas de actualización1.5 Subconsultas1.6 Consultas y referencias cruzadas1.7 Consultas de unión interna1.8 Consultas de unión externa

IMPLEMENTACIÓN DE BASES DE DATOS

Page 3: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros yFunciones agregadas

La cláusula GROUP BYAgrupa un conjunto seleccionado de filas dentro de un conjunto de filas resumidas en base a los valores de una o más columnas. Una fila es devuelta por cada grupo. Para obtener información de cada uno de los grupos es necesario emplear funciones de AgregaciónSintaxis:

SELECT <Campo1> FROM <tabla> GROUP BY <Campo1>SELECT <Campo1>, <Campo2> FROM <tabla> WHERE <criterio> GROUP BY <Campo1>, <Campo2>SELECT <Campo1>, <Campo2> FROM <tabla> WHERE <criterio> GROUP BY <Campo1>, <Campo2> ORDER BY <Campo1>

SELECT Country FROM Customers GROUP BY Country

IMPLEMENTACIÓN DE BASES DE DATOS

Page 4: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros yFunciones agregadas

FUNCIONES DE AGREGADOLas funciones de agregado son:

COUNT (Conteo)AVG (Promedio)MAX(máximo)MIN(mínimo)SUM(suma)StDev , StDevP (desviación estándar)Var, VarP (varianza)

IMPLEMENTACIÓN DE BASES DE DATOS

Page 5: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función COUNTCalcula el número de registros devueltos por una consulta. Su sintaxis es la siguiente

SELECT COUNT(expr) WHERE <tabla> GROUP BY <campo>

•Expr contiene el nombre del campo que desea contar. •Count simplemente cuenta el número de registros sin tener en cuenta qué valores se almacenan en los registros.• La función Count no cuenta los registros que tienen campos null a menos que expr sea el carácter comodín asterisco (*).

SELECT Count(*) AS Total FROM CustomersSELECT Count(Region) AS Total FROM CustomersSELECT Count(Distinct City) As TCiudades FROM Customers

SELECT Country, Count(*) AS Tclientes FROM Customers GROUP BY CountrySELECT Country, Region, COUNT(*) as TClientes FROM Customers GROUP BY Country,Region

IMPLEMENTACIÓN DE BASES DE DATOS

Page 6: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función COUNT

Cuantos productos diferentes se tienen registrados por cada proveedor (SupplierID)Select SupplierID ,COUNT(*) productos FROM Products GROUP BY SupplierID

Cuantos productos se tienen registrados de cada categoría (CategoryID)Select CategoryID,COUNT(*) productos FROM Products GROUP BY CategoryID

Cuantos productos se tienen registrados por cada estado (Descontinuado o no)Select Discontinued,COUNT(*) productos FROM products GROUP BY Discontinued

IMPLEMENTACIÓN DE BASES DE DATOS

Page 7: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros yFunciones agregadas

La cláusula GROUP BY – Función AVGCalcula la media aritmética de un conjunto de valores contenidos en un campo especificado de una consulta. Su sintaxis es la siguiente SELECT AVG(expr) WHERE <tabla> GROUP BY <campo>

•Expr representa el campo que contiene los datos numéricos para los que se desea calcular la media o una expresión que realiza un cálculo utilizando los datos de dicho campo.•La función Avg no incluye ningún campo Null en el cálculo.

Ejemplo:SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100

IMPLEMENTACIÓN DE BASES DE DATOS

Page 8: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros yFunciones agregadas

La cláusula GROUP BY – Función AVG

En promedio cuantas unidades(piezas de productos) se tienen actualmenteSELECT AVG(UnitsInStock) PUnidades FROM Products

En promedio cuantas unidades se tienen por cada proveedorSELECT SupplierID, AVG(UnitsInStock) PUnidades FROM Products GROUP BY SupplierID

En promedio cuantas unidades no descontinuadas se tienen por cada proveedorSELECT SupplierID, AVG(UnitsInStock) PUnidades FROM Products WHERE Discontinued=0 GROUP BY SupplierID

IMPLEMENTACIÓN DE BASES DE DATOS

Page 9: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función AVG

Cual es el precio unitario promedio de los productos por cada proveedorSELECT SupplierID,AVG(UnitPrice) “Precio promedio” FROM Products GROUP BY SupplierID

Cual es el precio unitario promedio de los productos por cada categoríaSELECT CategoryID,AVG(UnitPrice) “Precio promedio” FROM Products GROUP BY CategoryID

IMPLEMENTACIÓN DE BASES DE DATOS

Page 10: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función MAX y MINDevuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de una consulta. Su sintaxis es: SELECT MAX(expr) WHERE <tabla> GROUP BY <campo>SELECT MIN(expr) WHERE <tabla> GROUP BY <campo>

•Expr representa el campo que contiene los datos numéricos para los que se desea obtener el máximo o mínimo.

Ejemplo:SELECT Min(Gastos) AS Minimo FROM Pedidos WHERE Pais = ‘Guatemala’ SELECT Max(Gastos) AS Maximo FROM Pedidos WHERE Pais = ‘Guatemala’

Cual es el número máximo de unidades ordenadas en la tabla ProductosSELECT MAX(UnitsOnOrder ) Unidades_Ordenadas FROM Products

Pro cada proveedor, cual es el número máximo de unidades ordenadasSELECT SupplierID, MAX(UnitsOnOrder) Unidades_Ordenadas FROM Products GROUP BY SupplierID

IMPLEMENTACIÓN DE BASES DE DATOS

Page 11: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función MAX,MIN

Cual es el precio unitario más bajo de cualquier producto registrado en la tabla de productosSELECT MIN(UnitPrice) “Precio minimo” FROM Products GROUP BY SupplierID

Por cada proveedor, cual es el precio unitario más alto sin importar el productoSELECT SupplierID,MAX(UnitPrice) “Precio máximo prov” FROM Products GROUP BY SupplierID

Por cada proveedor-categoria, cual es el precio unitario más altoSELECT SupplierID,CategoryID,MAX(UnitPrice) “Precio prov cat” FROM Products GROUP BY SupplierID,CategoryID

IMPLEMENTACIÓN DE BASES DE DATOS

Page 12: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función SUMDevuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su sintaxis es:

SELECT SUM(expr) WHERE <tabla> GROUP BY <campo>

•En donde expr representa el nombre del campo que contiene los datos que desean sumarse o una expresión que realiza un cálculo utilizando los datos de dichos campos. Los operandos de expr pueden incluir el nombre de un campo de una tabla, una constante o una función.

Ejemplo:SELECT Sum(PrecioUnidad) AS Total FROM DetallePedidoSELECT Sum(Puntos) “Total puntos” FROM Resultado GROUP BY IdEquipo

Cuantos unidades en almacen (unitsInStock) en total se tienenSELECT SUM(UnitsInStock) Tunidades FROM Products

IMPLEMENTACIÓN DE BASES DE DATOS

Page 13: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función SUM

Cuantas unidades por proveedor se tienen sin importar el productoSELECT SupplierID,SUM(UnitsInStock) UnidProv FROM Products GROUP BY SupplierID

Cuantas unidades por categoría se tienen sin importar el productoSELECT CategoryID,SUM(UnitsInStock) UnidCat FROM Products GROUP BY CategoryID

Por cada proveedor-categoria, cuantas unidades se tienenSELECT SupplierID,CategoryID,SUM(UnitPrice) UnidProvCat FROM Products GROUP BY SupplierID,CategoryID

IMPLEMENTACIÓN DE BASES DE DATOS

Page 14: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L.

1.3 Agrupamiento de registros y Funciones agregadas

La cláusula GROUP BY – Función SUM

En total, cuanto es el monto que se tiene invertido en el inventarioSELECT SUM(UnitsInStock * UnitPrice) Monto FROM Products

IMPLEMENTACIÓN DE BASES DE DATOS

Page 15: Implementación de bases de datos agrupamiento y funciones de agregado

M.C. OMAR JASSO L. IMPLEMENTACIÓN DE BASES DE DATOS