0
我有了這樣的數據一個臨時表: SQL從/返回日期有間隙
由於很多空去上15年6月12日,我需要表現出2個獨立的行允許在日期範圍內的差距時,很多沒有數量。我嘗試過使用MIN和MAX,但我似乎無法弄清楚如何考慮時間差距。任何幫助將不勝感激。我正在使用SQL Server 2012.
謝謝。
我有了這樣的數據一個臨時表: SQL從/返回日期有間隙
由於很多空去上15年6月12日,我需要表現出2個獨立的行允許在日期範圍內的差距時,很多沒有數量。我嘗試過使用MIN和MAX,但我似乎無法弄清楚如何考慮時間差距。任何幫助將不勝感激。我正在使用SQL Server 2012.
謝謝。
您想在平衡從零切換時劃分組。因此,您可以通過對0個運行餘額進行累計計數來定義組。如果以相反的順序執行此操作,該值實際上會更加準確。
這提供了一個分組,您可以使用聚合:
select lot, min(trandate), max(trandate)
from (select t.*,
sum(case when runbal = 0 then 1 else 0 end) over
(partition by lot order by trandate desc) as grp
from t
) t
group by grp
order by min(trandate);
謝謝戈登。這很好。 – gcresse
你可能需要數量的運行總和,並使用與差距和島嶼問題 –
任何解決方案,我有一個運行總計數量 - 它被稱爲Run Bal。 – gcresse