2011-05-12 35 views
12

Creo que esto es común, ¿o sí?Ventas totales por mes

Si tiene una tabla con SALES {Customer_ID, Price, SmallDateTime date}. ¿Cómo informas todas las ventas por mes?

SELECT Sum(Price) As Total Sales FROM SALES Group By What Having What 

Gracias

Respuesta

18
SELECT YEAR(date) as SalesYear, 
     MONTH(date) as SalesMonth, 
     SUM(Price) AS TotalSales 
    FROM Sales 
GROUP BY YEAR(date), MONTH(date) 
ORDER BY YEAR(date), MONTH(date) 
+0

real gracias por esto :) – Harsha

1
SELECT CONVERT(CHAR(7), SmallDateTime, 120) as Year_Month, 
     SUM(Price) 
    FROM Sales 
    GROUP BY CONVERT(CHAR(7), SmallDateTime, 120) 
    ORDER BY Year_Month 
0

Otra solución consiste en calcular el primer día del mes

Select DateAdd(d,DateDiff(d,0,[Date])-DatePart(d,[Date])+1,0) 
    , Sum(Price) 
From Sales 
Group By DateAdd(d,DateDiff(d,0,[Date])-DatePart(d,[Date])+1,0) 
0

Prueba este

SELECT A.CAL_YEAR AS YEAR ,A.CAL_WEEK AS WEEK,SUM(B.SUM_OF_PROFIT) as profit FROM 
CALANDER A,SALES_FACT B WHERE A.DATE_ID=B.DATE_ID 
GROUP BY A.CAL_YEAR,A.CAL_WEEK; 
Cuestiones relacionadas