Calcular el total acumulado en SQL

El lenguaje de consulta estructurado o SQL es un lenguaje de base de datos estándar que se utiliza para crear, mantener y recuperar datos de bases de datos relacionales como MySQL, Oracle, etc. En este artículo, utilizaremos Microsoft SQL Server.
Aquí vamos a ver cómo obtener el total del salario corriente de cada departamento. Aquí, primero crearemos una base de datos llamada «geeks» y luego crearemos una tabla «departamento» en esa base de datos. Después, ejecutaremos nuestra consulta en esa tabla.

Creación de base de datos:

CREATE geeks;

Para utilizar esta base de datos:

USE geeks;

Esta es nuestra tabla en la base de datos del geek:

CREATE TABLE department(
ID int,
SALARY int,
NAME Varchar(20),
DEPT_ID Varchar(255));

Salida:
Comando(s) completado(s) con éxito.

Agregue valor a la tabla:

INSERT INTO department 
VALUES (1, 34000, 'ANURAG', 'UI DEVELOPERS');

INSERT INTO department 
VALUES (2, 33000, 'harsh', 'BACKEND DEVELOPERS');

INSERT INTO department 
VALUES (3, 36000, 'SUMIT', 'BACKEND DEVELOPERS');

INSERT INTO department 
VALUES (4, 36000, 'RUHI', 'UI DEVELOPERS');

INSERT INTO department 
VALUES (5, 37000, 'KAE', 'UI DEVELOPERS');

Salida:
(1 fila(s) afectada(s)
(1 fila(s) afectada(s))
(1 fila(s) afectada(s))
(1 fila(s) afectada(s))
(1 fila(s) afectada(s))

Seleccione en SQL Server Management Studio:

Estos son nuestros datos dentro de la tabla:

SELECT * FROM department;
IDENTIFICACIÓN SALARIO NOMBRE DEPT_ID
1 34000 ANURAG DESARROLLADOR DE IU
2 33000 DURO DESARROLLADORES BACKEND
3 36000 CUMBRE DESARROLLADORES BACKEND
4 36000 RUHI DESARROLLADOR DE IU
5 37000 KAE DESARROLLADOR DE IU

Seleccione en SQL Server Management Studio:

Ejemplo 1:
consulta para calcular el total acumulado en SQL Server

SELECT * ,(
SELECT SUM(T2.[SALARY])  
 FROM [department] AS T2
       WHERE T2.[ID] <= T1.[ID]
) AS [Running Total]
FROM [department] AS T1

Producción: 

IDENTIFICACIÓN SALARIO NOMBRE DEPT_ID Total corriente
1 34000 ANURG DESARROLLADOR DE IU 34000
2 33000 DURO DESARROLLADORES BACKEND 67000
3 36000 CUMBRE DESARROLLADORES BACKEND 103000
4 36000 RUHI DESARROLLADOR DE IU 139000
5 37000 KAE DESARROLLADOR DE IU 176000

Seleccione en SQL Server Management Studio:

Ejemplo 2
En este ejemplo de SQL Server, usaremos la función SUM y OVER para encontrar el total acumulado.
Consulta para calcular el total acumulado en SQL Server

SELECT *
    ,SUM([SALARY]) OVER (
           ORDER BY  [ID]
  ) AS [Running Total]
FROM department

Producción:

IDENTIFICACIÓN SALARIO NOMBRE DEPT_ID Total corriente
1 34000 ANURAG DESARROLLADOR DE IU 34000
2 33000 DURO DESARROLLADORES BACKEND 67000
3 36000 CUMBRE DESARROLLADORES BACKEND 103000
4 36000 RUHI DESARROLLADOR DE IU 139000
5 37000 KAE DESARROLLADOR DE IU 176000

Seleccione en SQL Server Management Studio:

Ejemplo 3:
En este ejemplo de SQL Server, usaremos PARTITION BY con OVER para encontrar el total acumulado.
Consulta para calcular el total acumulado en SQL Server

SELECT *
   ,SUM([SALARY]) OVER  (
PARTITION BY DEPT_ID  ORDER BY Id
) AS [Running Total]
FROM department

Producción: 

IDENTIFICACIÓN SALARIO NOMBRE DEPT_ID Total_actualizado
2 33000 DURO DESARROLLADORES BACKEND 33000
3 36000 CUMBRE DESARROLLADORES BACKEND 69000
1 34000 ANURAG DESARROLLADOR DE IU 34000
4 36000 RUHI DESARROLLADOR DE IU 70000
5 37000 KAE DESARROLLADOR DE IU 107000

Seleccione en SQL Server Management Studio:

Publicación traducida automáticamente

Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *