5.2.- Agrupar y Resumir Datos

download 5.2.- Agrupar y Resumir Datos

of 13

Transcript of 5.2.- Agrupar y Resumir Datos

  • Procedimientos para agrupar y resumir datos

  • IntroduccinPresentacin de los primeros n valoresUso de funciones de agregadoFundamentos de GROUP BYGeneracin de valores de agregado dentro de los conjuntos de resultadosUso de las clusulas COMPUTE y COMPUTE BY

  • Presentacin de los primeros n valoresPresenta slo las n primeras filas de un conjunto de resultadosEspecifica el intervalo de valores con la clusula ORDER BYDevuelve las filas iguales si se utiliza WITH TIES

  • Uso de funciones de agregadoFuncin de agregadoAVGCOUNTCOUNT (*)MAXMINSUMSTDEVSTDEVPVARVARP

  • Uso de funciones de agregado con valores nulosLa mayora de las funciones de agregado pasan por alto los valores nulosLa funcin COUNT(*) cuentas las filas con valores nulosUSE northwindSELECT COUNT (*) FROM employees GOUSE northwindSELECT COUNT(reportsto) FROM employeesGOEjemplo 1Ejemplo 2

  • Fundamentos de GROUP BYUso de la clusula GROUP BYUso de la clusula GROUP BY con la clusula HAVING

  • Uso de la clusula GROUP BYUSE northwindSELECT productid, orderid ,quantity FROM orderhist GOUSE northwindSELECT productid ,SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid GOproductidtotal_quantity115235345productidorderidquantity11511102110222531153230Slo se agrupan las filas que cumplan la clusula WHEREUSE northwindSELECT productid ,SUM(quantity) AS total_quantity FROM orderhist WHERE productid = 2 GROUP BY productid GO

  • Uso de la clusula GROUP BY con la clusula HAVINGUSE northwindSELECT productid, orderid ,quantity FROM orderhist GOUSE northwindSELECT productid, SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid HAVING SUM(quantity)>=30 GOproductidtotal_quantity235345

  • Generacin de valores de agregado dentro de los conjuntos de resultadosUso de la clusula GROUP BY con el operador ROLLUPUso de la clusula GROUP BY con el operador CUBEUso de la funcin GROUPING

  • Uso de la clusula GROUP BY con el operador ROLLUPDescripcinUSE northwindSELECT productid, orderid, SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid, orderid WITH ROLLUP ORDER BY productid, orderid GO

  • Uso de la clusula GROUP BY con el operador CUBEproductidorderidtotal_quantityNULLNULL95NULL130NULL2651NULL1511512102NULL35211022253NULL4531153230

  • Uso de la funcin GROUPING1 representa los valores de resumenen la columna precedente

    0 representa los valores de detalle enla columna precedente95306515510351025451530USE northwindSELECT productid, GROUPING (productid) ,orderid, GROUPING (orderid) ,SUM(quantity) AS total_quantity FROM orderhist GROUP BY productid, orderid WITH CUBE ORDER BY productid, orderid GOproductidNULLNULLNULL111222333111000000000orderidNULL12NULL12NULL12NULL12100100100100total_quantity

  • Uso de las clusulas COMPUTE y COMPUTE BYCOMPUTE BYCOMPUTEUSE northwindSELECT productid, orderid, quantity FROM orderhist ORDER BY productid, orderid COMPUTE SUM(quantity) BY productid COMPUTE SUM(quantity) GOUSE northwindSELECT productid, orderid ,quantity FROM orderhistORDER BY productid, orderidCOMPUTE SUM(quantity) GOproductidorderidquantity11512102110222531153230sum95