Está en la página 1de 9

Procedimientos para agrupar y resumir datos

Introduccin

Presentacin de los primeros n valores

Uso de funciones de agregado


Fundamentos de GROUP BY Generacin de valores de agregado dentro de los conjuntos de resultados Uso de las clusulas COMPUTE y COMPUTE BY

Presentacin de los primeros n valores


Presenta slo las n primeras filas de un conjunto de resultados Especifica el intervalo de valores con la clusula ORDER BY

Devuelve las filas iguales si se utiliza WITH TIES


Ejemplo 1

USE northwind SELECT TOP 5 orderid, productid, quantity FROM [order details] ORDER BY quantity DESC GO

USE northwind SELECT TOP 5 WITH TIES orderid, productid, quantity FROM [order details] ORDER BY quantity DESC GO

Ejemplo 2

Uso de funciones de agregado


Funcin de agregado Descripcin
AVG
Promedio de valores en una expresin numrica

COUNT
COUNT (*) MAX

Nmero de valores en una expresin


Nmero de filas seleccionadas Valor ms alto en la expresin

MIN
SUM STDEV STDEVP VAR VARP

Valor ms bajo en la expresin


Valores totales en una expresin numrica Desviacin estadstica de todos los valores

Desviacin estadstica para la poblacin


Varianza estadstica de todos los valores Varianza estadstica de todos los valores para la poblacin

Uso de funciones de agregado con valores nulos

La mayora de las funciones de agregado pasan por alto los valores nulos

La funcin COUNT(*) cuentas las filas con valores nulos


Ejemplo 1

USE northwind SELECT COUNT (*) FROM employees GO USE northwind SELECT COUNT(reportsto) FROM employees GO

Ejemplo 2

Fundamentos de GROUP BY

Uso de la clusula GROUP BY Uso de la clusula GROUP BY con la clusula HAVING

Uso de la clusula GROUP BY


USE northwind SELECT productid, orderid ,quantity FROM orderhist GO USE northwind SELECT productid ,SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid GO

productid
1 1

orderid quantity
1 1 5 10
Slo se agrupan las filas que cumplan la clusula WHERE

productid
1 2

total_quantity
15 35

2
2 3 3

1
2 1 2

10
25 15 30

45

productid
2

total_quantity
35

USE northwind SELECT productid ,SUM(quantity) AS total_quantity FROM orderhist WHERE productid = 2 GROUP BY productid GO

Uso de la clusula GROUP BY con la clusula HAVING


USE northwind SELECT productid, orderid ,quantity FROM orderhist GO productid
1 1 2 2

orderid quantity
1 1 1 2 5 10 10 25

USE northwind SELECT productid, SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid HAVING SUM(quantity)>=30 GO

productid
2 3

total_quantity
35 45

3
3

1
2

15
30

Uso de las clusulas COMPUTE y COMPUTE BY


COMPUTE
USE northwind SELECT productid, orderid ,quantity FROM orderhist ORDER BY productid, orderid COMPUTE SUM(quantity) GO

COMPUTE BY
USE northwind SELECT productid, orderid, quantity FROM orderhist ORDER BY productid, orderid COMPUTE SUM(quantity) BY productid COMPUTE SUM(quantity) GO

productid orderid quantity


1
1 2

productid orderid quantity


1 1 1 2 5 10

1
2 sum 1

5
10 15 10

2
2 3 3

1
2 1 2 sum

10
25 15 30 95

2
3 3

2
sum 1 2 sum sum

25
35 15 30 45 95

También podría gustarte