我正在使用MS SQL Server Management Studio。我想要做的是獲得作爲我的每個記錄的列之一的總和,但該總和只會根據前兩列的值總結值。MS SQL Server無法獲得選擇和列正確
查詢看起來像這樣至今:
SELECT DISTINCT
BeginPeriod,
EndPeriod,
(
SUM((select FO_NumPages from tbl_Folder where FO_StatisticDateTime > BeginPeriod AND FO_StatisticDateTime < EndPeriod))
) AS PageCount
FROM
(
SELECT
CONVERT(varchar(12),DATEADD(mm,DATEDIFF(mm,0,tbl_Folder.FO_StatisticDateTime),0),101) AS BeginPeriod,
tbl_Folder.FO_PK_ID AS COL1ID
FROM
tbl_Folder
)AS ProcMonth1
INNER JOIN
(
SELECT
CONVERT(varchar(12),DATEADD(mm,DATEDIFF(mm,0,tbl_Folder.FO_StatisticDateTime)+1,0),101) AS EndPeriod,
tbl_Folder.FO_PK_ID AS COL2ID
FROM
tbl_Folder
)AS ProcNextMonth1
ON ProcMonth1.COL1ID = ProcNextMonth1.COL2ID
ORDER BY BeginPeriod DESC;
我從獲取數據會看起來像這樣的表:
FO_StatisticsDateTime | FO_PK_ID | FO_NumPages
-------------------------------------------------
03/21/2013 | 24 | 5
04/02/2013 | 22 | 6
我想總和來算的頁數對於每個記錄的開始時段和結束時段之間的每條記錄。
我知道與select語句的總和在該函數中對列值有一個聚合錯誤。但是有沒有辦法讓每筆記錄都能得到這筆錢?
當你說出「每條記錄」的頁數時,你究竟在調用一條記錄?用你的樣品數據,你想要的結果是什麼? –
每行記錄。所以結果可能如下所示: beginperiod | endperiod |頁數 02/01/2013 | 03/01/2013 | 34 對於每一行我尋找開始期間和結束期間的值之間出現的頁碼總和。 – user2419568