我正在嘗試解決我遇到的問題。計數日SQL Server
| ID | Op | Object | STATE | Timestamp |
| 01 | 1 | A | 1 | 01-02-2016|
| 02 | 1 | A | 2 | 04-02-2016|
| 03 | 1 | A | 1 | 10-02-2016|
| 04 | 1 | A | 3 | 01-02-2016|
| 05 | 2 | A | 2 | 02-02-2016|
| 06 | 3 | A | 1 | 05-02-2016|
| 07 | 3 | A | 2 | 10-11-2016|
我需要編寫返回計數的天,一個對象過去在狀態2 實施例中,對象A,從04-02到留在10-02 STATE 2 + 02-02一個SQL到05-02和從10-11到今天這麼6天+3天+4天。
SQL return 13
目前通過代碼,但我需要它在SQL提取,我不知道如何繼續。這是可能的SQL?
謝謝
我不明白這張桌子。在01-02-2016對象A切換到狀態1(記錄01)和狀態3(記錄04)?從2016年2月2日到2016年2月3日,它的狀態爲1(記錄01)和狀態2(記錄05)。 2016年4月2日,它有兩次狀態2(來自記錄05和02),05-02-2016有狀態2(來自記錄02)和狀態1(來自記錄06)。所以一個對象有多個狀態,你只能通過ID排序和查找重疊的日期範圍來確定哪個狀態和多少個狀態? –