我已經開發了財政年度數據財政年度明智直到現在我已經實現了!但我無法得到逐列平均通過使用T-sql和Pivot的平均列方式
我的表定義
CREATE TABLE [dbo].[tblact] (
[Id] INT NOT NULL,
[years] NVARCHAR (MAX) NULL,
[months] NVARCHAR (MAX) NULL,
[expenses] DECIMAL (18, 2) NULL,
[closingbal] DECIMAL (18, 2) NULL,
[monthorder] INT NULL
我的查詢
CREATE PROCEDURE fiscalyear
AS
DECLARE @qstr AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
declare @sql nvarchar(max)
SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(years)FROM (SELECT DISTINCT years FROM tblact) AS years;
SET @qstr ='SELECT months, ' + @ColumnName + ',total,average FROM
(SELECT months, years, expenses,avg(expenses) over(partition by months) average,sum(expenses) over (partition by months) total ,monthorder FROM tblact) AS p
PIVOT(SUM(expenses) FOR years IN (' + @ColumnName + ')) AS PVTTable order by monthorder ';
EXEC sp_executesql @qstr
請請你幫助acheive答案
我現在輸出:
Months | 2009-2010 | 2010 - 2011 | 2012-2013 | Total | Average
--------------------------------------------------------------
April | 2000 | 3000 | 4000 | 9000 | 3000
MAY | 2000 | 3000 | 4000 | 9000 | 3000
--------------------------------------------------------------
期望輸出
Months | 2009-2010 | 2010 - 2011 | 2012-2013 | Total | Average
--------------------------------------------------------------
April | 2000 | 3000 | 4000 | 9000 | 3000
MAY | 2000 | 3000 | 4000 | 9000 | 3000
--------------------------------------------------------------
Average| 2000 | 3000 | 4000 | 9000 | 3000
請幫助!
http://stackoverflow.com/questions/14478361/sum-with-sql-server-rollup-but-only-last-summary – mohan111
我想不出我們在那裏我可以添加查詢我明白我需要使用ROLLUP,我應該在哪裏添加,請幫助! – Prhem
將當前查詢的結果存儲在表變量中,然後平均值僅爲SUM除以每列的COUNT值。 –