如何计算 sql server 2008
中的平均每月消费销售量SELECT * FROM (SELECT year(OrderDate) as [year],left(datename(month,OrderDate),3)as [month],Qty as QTY FROM DailyDispatch where CustID=1 ) as s PIVOT ( SUM(QTY)FOR [month] IN (jan, feb, mar, apr,may, jun, jul, aug, sep, oct, nov, dec))as P
我得到的结果,但我想做所有月份的总和并将其除以当月。 例如,截至今年9月的所有销售总额为1000,所以我想要1000/9并显示结果。
答案 0 :(得分:0)
您没有提及您的数据,但您可以从我理解的内容中做到以下几点:
-- Declare Table Varibale
DECLARE @DailyDispatch TABLE (OrderDate DATETIME, Qty INT, CustID INT)
-- Insert some test records
INSERT INTO @DailyDispatch VALUES (GETDATE()+ 90, 12000, 1),(GETDATE()+60, 11000, 1), (GETDATE()+30, 10000, 1), (GETDATE(), 9000, 1)
,(GETDATE()-30, 8000, 1), (GETDATE()-60, 7000, 1), (GETDATE()-90, 6000, 1),(GETDATE()-120, 5000, 1)
,(GETDATE()-150, 4000, 1), (GETDATE()-180, 3000, 1), (GETDATE()-210, 2000, 1),(GETDATE()-240, 1000, 1)
-- Finally, the SQL:
SELECT *
FROM (
SELECT year(OrderDate) AS [year]
,left(datename(month, OrderDate), 3) AS [month]
,Qty / DATEPART(m, OrderDate) AS QTY
FROM @DailyDispatch
WHERE CustID = 1
) AS s
PIVOT(SUM(Qty) FOR [month] IN (
jan
,feb
,mar
,apr
,may
,jun
,jul
,aug
,sep
,oct
,nov
,dec
)) AS P
如果您在问题中包含了一些测试数据(例如,在表格变量的帮助下),那么其他人可以回答您的问题,因此其他人不必花时间在数据集上来帮助您出。希望这会有所帮助。