2016-08-23 79 views
1

我有一個日期列表(超過100),我需要爲這些日期中的每個日期總結一個特定的列。我知道下面的不工作,但它顯示了什麼,我試圖做...請幫助通過日期的T-SQL循環

USE FIND 
select SUM(a.rm_result_as_pct_of_nav) 
from rpt.rm_Report_History a 
where 
a.analysis_date IN('20160330','20160228','20160131') 
and a.criteria_Set = 'Daily' and a.ptf_id = '10039' 
and a.stat_def_id=397 

有沒有錯誤,但我只拿到1個總。我需要每個日期的總數,所以我可以在每個月底看到pct_of_nav是x。

+0

您是否收到任何錯誤?如果是這樣,請張貼他們 – Michael

+0

沒有錯誤,但我只得到1總...我需要每個日期的總數,所以我可以看到在每個月底pct_of_nav是x – user2904400

回答

2

這將給你的總和並顯示日期;

SELECT 
a.analysis_date 
,SUM(a.rm_result_as_pct_of_nav) SumResult 
FROM rpt.rm_Report_History a 
WHERE a.analysis_date IN ('20160330','20160228','20160131') 
    AND a.criteria_Set = 'Daily' 
    AND a.ptf_id = '10039' 
    AND a.stat_def_id=397 
GROUP BY a.analysis_date 

如果你不想限制日期然後做這樣的事情;

SELECT 
a.analysis_date 
,SUM(a.rm_result_as_pct_of_nav) SumResult 
FROM rpt.rm_Report_History a 
WHERE a.criteria_Set = 'Daily' 
    AND a.ptf_id = '10039' 
    AND a.stat_def_id=397 
GROUP BY a.analysis_date 
+0

再次只給出6月30日的結果,而不是其他 – user2904400

+0

好的,你能否更新你的問題並提供你的樣本數據?我假設where子句中的一個字段限制數據。在沒有where子句的情況下嘗試檢查它是否正常工作。然後添加條款並查看哪一條限制數據僅限於六月三十日。 –

+0

是的,我的不好,我指定的日期不是avaialbe ,,,你回答了謝謝 – user2904400