私は今、しばらくの間苦労してきた問題を抱えています。誰かが私を助けてくれれば、それは素晴らしいことです。SQL Server 2012 上にあります。
一連のトランザクション数とユーザー ID を含むテーブルがあります。1 時間ごとに発生するすべてのトランザクションをカウントし、ユーザー ID でグループ化する必要があります。datepart(hh,1,SomeColumn) でグループ化することもできません。これは、16:00 ~ 16:59 に発生したトランザクションのみが取得されるためです。
したがって、発生した最初のトランザクション + 1 時間でグループ化する必要があり、その後に別の一連のトランザクションが発生した場合は、それによってもグループ化する必要があります。
例:
最初のトランザクションは 13:45 でした。13:45 から 14:45 までに発生したすべてのトランザクションの数が必要です。ユーザー ID ごとにグループ化されます。
次に、16:09 ~ 17:09 に発生したすべてのトランザクションの数を同じユーザー ID でグループ化する必要があります。
少し混乱している場合は申し訳ありません。
テーブル:
ユーザー | 取引時間
0125 | 2016/03/06 12:24:01
0125 | 2016/03/06 12:34:06
0125 | 2016/03/06 13:22:02
0125 | 2016/03/06 16:24:10
0125 | 2016/03/06 17:10:08
出力:
ユーザー | TransactionTimeStart | トランザクション時間終了 | 取引
0125 | 2016/03/06 12:24:01 | 2016/03/06 13:22:02 | 3
0125 | 2016/03/06 16:24:10 | 2016/03/06 17:10:08 | 2