在SQL Server 2005中我有一個表的數據,看起來是這樣的:SQL分組周圍間隙
WTN------------Date
555-111-1212 2009-01-01
555-111-1212 2009-01-02
555-111-1212 2009-01-03
555-111-1212 2009-01-15
555-111-1212 2009-01-16
212-999-5555 2009-01-01
212-999-5555 2009-01-10
212-999-5555 2009-01-11
從這個我想提取WTN,閔(日期),馬克斯(時間)的扭曲是我想也打破每當有日期的差距,所以從上面的數據,我的結果應該是這樣的:
WTN------------ MinDate---- MaxDate
555-111-1212 2009-01-01 2009-01-03
555-111-1212 2009-01-15 2009-01-16
212-999-5555 2009-01-01 2009-01-01
212-999-5555 2009-01-10 2009-01-11
- 我該怎麼辦次在SQL Select/Group By中?
- 這可以在沒有表格或列表的情況下完成,可以枚舉我想在這些日期中確定間隔的值嗎?
爲什麼使用臨時表的東西,我可以在內嵌視圖(或CTE)呢?保存必須定義表和INSERT語句...... – 2009-10-19 18:43:25
但是數字表對於許多事情非常有用,您不需要重複定義它。在我看來,這更像永久性表格。 – HLGEM 2009-10-19 18:49:38
哦,不!定義一個表格?填充它?您只定義表並填充一次。現在,您可以引用該表,而不用擔心在需要序列的每個模塊中都有用於此類CTE的代碼。從理論上講,它比在運行時推導更有效率,因爲正如我之前提到的,它在大多數情況下都會記憶,並且它也應該被正確地編入索引。我在理論上說,因爲在達到某個數字/日期的某個閾值之前,您不會注意到性能差異的很大一部分。 – 2009-10-19 18:55:25