Sunteți pe pagina 1din 15

COMPUTE & COMPUTE BY

MELISSA PIZARRO SOLANO


GENERAR INFORMES CON SECCIONES Y TOTALES,
Y PROMEDIOS FINALES.
• Desde la actualización de SQL Server 2005 a SQL Server 2012
• Están discontinuadas en las versiones de SQL Server 2012 y sucesivas.
• Las cláusulas "compute" y "compute by" generan totales que aparecen en
columnas extras al final del resultado.
• Produce filas de detalle y un valor único para una columna.
• La cláusula "compute" debe estar incluida en la lista de campos del "select".
• Se usa con las funciones de agrupamiento: avg(), count(), max(), min(), sum().
• Los tipos de datos ntext, text e image no se pueden incluir en una cláusula
"compute" o "compute by".
LA SINTAXIS BÁSICA Y GENERAL

select CAMPOS
from TABLA
compute FUNCION(CAMPO);
Compute 2 sentencias
En una misma instrucción se pueden
colocar varias cláusulas "compute":
select ENAME,JOB,SAL
from EMP
compute count(ENAME),sum(SAL);
-------------------------------------------------

select ENAME,JOB,SAL
from EMP
select count(ENAME) as conteo from EMP;
select sum(SAL) as suma_salarios from EMP;
COMPUTE BY

• "Compute by" genera cortes de control y subtotales. Se generan filas de


detalle y varios valores de resumen cuando cambian los valores del campo.
• Con "compute by" se DEBE usar también la cláusula "order by" y los campos
que se incluyan luego de "by" deben estar en el "order by". Listando varios
campos luego del "by" corta un grupo en subgrupos y aplica la función de
agregado en cada nivel de agrupamiento:
• aplica la función de agregado en cada nivel de agrupamiento:
select ENAME,SAL,JOB
from EMP
order by JOB
compute count(JOB)
by JOB;
• La cláusula COMPUTE BY se reemplaza por la cláusula ROLL UP en SQL
Server 2012.
PODEMOS COMPROBAR ESTAS SENTENCIAS CON AYUDA
DE ESTA PAGINA WEB, NECESARIO CONTAR CON
INTERNET
• https://www.tutorialesprogramacio
nya.com/sqlserverya/problemas/pr
oblema.php?inicio=25&cod=48&p
unto=42
• Aquí escribir la consulta para
creación de la BD de SQL server,
además los registros y sentencias
GROUPING SETS

POLANCO MORAN EDGAR


GROUP BY GROUPING SETS

• Es una extensión adicional de la cláusula GROUP BY.


• Nos brinda la facilidad de poder agrupar varias opciones de Group by, en la misma
consulta.
• Cuantos más elementos tenga GROUPING SETS, mayor será el beneficio en el
rendimiento.
• Permite a los desarrolladores de Sql trabajar fácilmente en ROLLUP y CUBE como las
declaraciones de Sql.
• GROUPING SETS a la cláusula GROUP BY puede considerarse como un método
paramétrico más general para los comandos Sql CUBE y ROLLUP.
EJEMPLO:

S-ar putea să vă placă și