SQL - suma acumulada

 
Vista:
Imágen de perfil de leo

suma acumulada

Publicado por leo (2 intervenciones) el 10/11/2016 06:58:07
Buen día,
me gustaría realizar una suma acumulativa por meses de un año de la siguiente tabla

consulta1

hice la siguiente consulta
select MONTH(Fecha), Sum(Precio) over (order by MONTH(Fecha))
from AvanceVenta

y me da este resultado

consulta2

como 2 mil resultados (q es total de registros por mes lo sé) del total del primer mes, y como 2 mil resultados del segundo mes acumulado y asi por todos los meses del año, me gustaría saber como puedo hacer que solo me muestre un registro por mes con su respectivo acumulado
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
sin imagen de perfil
Val: 42
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

suma acumulada

Publicado por José Luis (16 intervenciones) el 10/11/2016 17:27:55
Mira no es difícil, mas o menos lo que tendrías que hacer.

select año(fecha) || mes(fecha) fecha, sum(precio) from tu_tabla
group by año(fecha) || mes(fecha)

Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Mary

suma acumulada

Publicado por Mary (2 intervenciones) el 11/11/2016 04:19:49
Estimado José Luis agradezco mucho tu respuesta, pero deseo obtener la suma acumulada, tu código funciona muy bien :), solo que quiero q la suma se vaya acumulando en cada mes, que para lo cual he escrito el siguiente código:

select MONTH(Fecha), Sum(Precio) over (order by MONTH(Fecha))
from AvanceVenta

donde obtengo la suma acumulada y esta consulta me devuelve como 2 mil resultados (q es total de registros por mes lo sé) del total del primer mes, y como 2 mil resultados del segundo mes acumulado y asi por todos los meses del año, me gustaría saber como puedo hacer que solo me muestre un registro por mes con su respectivo acumulado.

ah estoy en SQL SERVER 2014 :).

Muchas Gracias
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
sin imagen de perfil
Val: 42
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

suma acumulada

Publicado por Jose Luis (16 intervenciones) el 11/11/2016 19:26:15
Ja ja ja ja!!

Tienes razón no había leído completo tu pregunta y sólo lo que razoné en el aire te comenté.

En esta pagina encontraras la respuesta:

https://msdn.microsoft.com/es-es/library/ms189461(v=sql.120).aspx

Es básicamente lo que tu quieres hacer.

1
2
3
4
5
6
7
8
SELECT BusinessEntityID, TerritoryID
    ,CONVERT(varchar(20),SalesYTD,1) AS  SalesYTD
    ,DATEPART(yy,ModifiedDate) AS SalesYear
    ,CONVERT(varchar(20),SUM(SalesYTD) OVER (PARTITION BY TerritoryID
                                             ORDER BY DATEPART(yy,ModifiedDate)
                                             ROWS UNBOUNDED PRECEDING),1) AS CumulativeTotal
FROM Sales.SalesPerson
WHERE TerritoryID IS NULL OR TerritoryID < 5;

1
2
3
4
5
6
7
8
9
10
11
12
BusinessEntityID TerritoryID SalesYTD             SalesYear   CumulativeTotal
---------------- ----------- -------------------- ----------- --------------------
274              NULL        559,697.56           2005        559,697.56
287              NULL        519,905.93           2006        1,079,603.50
285              NULL        172,524.45           2007        1,252,127.95
283              1           1,573,012.94         2005        1,573,012.94
280              1           1,352,577.13         2005        2,925,590.07
284              1           1,576,562.20         2006        4,502,152.27
275              2           3,763,178.18         2005        3,763,178.18
277              3           3,189,418.37         2005        3,189,418.37
276              4           4,251,368.55         2005        4,251,368.55
281              4           2,458,535.62         2005        6,709,904.17

Hasta para mí es nueva esa consulta.


Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

suma acumulada

Publicado por Deivis (1 intervención) el 10/03/2020 13:20:02
Esto mismo se puede aplicar por userid? Es decir que q medida que el userid genere una orden nueva se sume ejemplo compro en ene19 1 producto luego en mar-19 compro 2 pero con la anterior sería un acumulado de 3
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