SQL - Acumular un campo

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 7 puestos en SQL (en relación al último mes)
Gráfica de SQL

Acumular un campo

Publicado por JOSE ADOLFO (1 intervención) el 10/10/2019 23:41:12
Hola estoy tratando de hacer un acumulado de ventas intente lo siguiente:

1
2
3
4
SELECT T0.[NumReg], T0.[VentCIVA], SUM(SUM(T0.[VentCIVA])) OVER (ORDER BY T0.[VentCIVA] ASC) AS Acumulado
FROM [Consa].[dbo].[MenosMas] T0
GROUP BY T0.[NumReg], T0.[VentCIVA]
ORDER BY T0.[VentCIVA]

Paresia correcto pero cuando hay valores iguales de venta no recorre el acumulado y sin embargo el ultimo acumulado coincide con la suma de cada uno de los valores

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
NumReg	 VentCIVA	Acumulado
354	               8	        8
248	               9.9998	17.9998
362	             10	        37.9998
363	             10	        37.9998   Incorrecto
503	             11	        48.9998
353	             12	        60.9998
352	             13	        73.9998
351	             15	        88.9998
496	             17.5	     123.9998
501	             17.5	     123.9998  Incorrecto
470	             18	     159.9998
512	             18	     159.9998 Incorrecto
364	             19	     197.9998
365	             19	     197.9998 Incorrecto
355	              20	     277.9998

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 1.991
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Acumular un campo

Publicado por Isaias (1462 intervenciones) el 11/10/2019 01:03:25
¿En que motor de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 98
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

Acumular un campo

Publicado por Francisco (32 intervenciones) el 11/10/2019 20:25:19
Hola

Hay un SUM dentro de otro SUM, como es eso ??

Lo correcto seria asi:


1
2
3
4
SELECT T0.[NumReg], T0.[VentCIVA], SUM(T0.[VentCIVA]) OVER (ORDER BY T0.[NumReg] ) ASC) AS Acumulado
FROM [Consa].[dbo].[MenosMas] T0
GROUP BY T0.[NumReg], T0.[VentCIVA]
ORDER BY T0.[VentCIVA]

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar