我有如下表:使用DateDiff的C#SQL分組間隔?
RowA RowB date_time RowD ------- ------- ------------------- ------- ValueA1 ValueB1 01.01.2001 16:23:01 ValueD1 ValueA2 ValueB2 01.01.2001 16:23:06 ValueD2 ValueA3 ValueB3 01.01.2001 16:23:11 ValueD3 ValueA4 ValueB4 03.01.2001 12:23:01 ValueD4 ValueA5 ValueB5 03.01.2001 16:23:06 ValueD5 ValueA6 ValueB6 03.01.2001 16:23:11 ValueD6 ValueA7 ValueB7 03.01.2001 16:23:16 ValueD7
表那張像約50K線。我想將這些以5秒間隔拍攝的值分組爲attempt1,嘗試2 ...等。我還需要使這些組試圖1,試圖2 ...等可訪問,以便我可以打開或關閉它們的可見性例如,使用複選框的DataGridview。
我很新的SQL,現在我找了兩天的解決方案,試圖GROUP BY
,DATEDIFF
和DATEADD
,但大部分我發現沒有隻算或總結組的值的解決方案。
使用RowFilter的解決方案會很棒,但是SQL字符串也會非常感謝。
編輯
我很抱歉,我不能回答前面。你提供的兩個結果都不是我正在尋找的,我不確定我現在想用SQL來解決我想要的結果。結果表我祝願應該是這樣的(我加了一些值,因爲我意識到,我以前到現在的那些可能沒有弄清楚是我所希望的):
Attempt RowA RowB date_time RowD -------- ------- ------- ------------------- ------- attempt1 ValueA1 ValueB1 01.01.2001 16:23:01 ValueD1 | attempt1 ValueA2 ValueB2 01.01.2001 16:23:06 ValueD2 | attempt1 since 5s difference (over 3 lines) attempt1 ValueA3 ValueB3 01.01.2001 16:23:11 ValueD3 | attempt2 ValueA4 ValueB4 03.01.2001 12:23:01 ValueD4 -> new and one line only attempt (difference bigger than 5s) attempt3 ValueA5 ValueB5 03.01.2001 16:23:06 ValueD5 | attempt3 ValueA6 ValueB6 03.01.2001 16:23:11 ValueD6 | attempt3 since 5s difference (over 3 lines) attempt3 ValueA7 ValueB7 03.01.2001 16:23:16 ValueD7 | attempt4 ValueA8 ValueB8 04.01.2001 02:16:53 ValueD8 - attempt4 since 5s difference... attempt4 ValueA9 ValueB9 04.01.2001 02:16:58 ValueD9 - (2 lines)
從你的問題並不清楚什麼是*標準*爲分組數據。這是約會嗎?我怎樣才能確定什麼是*一次嘗試*?需要經過一段時間才能「做出不同的嘗試」? – splattne
對不起,我很難描述這個問題,我知道。所有那些在date_time下的值相距5秒的值。在這種情況下,attempt1應該是:ValuesA1,B1,D1 - 值A3,B3,D3和attempt2:值A5,B5,D5 - 值A7,B7,D7。 –
只是另一個問題:該表是否有主鍵?我能否假設所有的date_time字段都是唯一的? – splattne