購入時間情報を含むテーブルがあります。(ユーザーが何かを購入する...)
5 分の間隔を持つタイム ラインを作成する必要があり、この 5 分間のウィンドウでカウントする必要があります - 購入 (カウント) が行われた回数 - (ユーザーごとのグループは必要ありません))
開始点 = @startCheckingTime
値が 08:00:00 の場合
終点=一日の終わり。(が であっても 翌日 未満 であっても構いませんxx:59:59
00:00:00
)
テーブルは次のとおりです。
DECLARE @startCheckingTime DATETIME
SET @startCheckingTime='2010-01-01 08:00:00'
declare @t table
(
d DATETIME
)
INSERT INTO @t
SELECT '2010-01-01 08:02:00'
UNION ALL
SELECT '2010-01-01 08:04:00'
UNION ALL
SELECT '2010-01-01 08:05:00'
UNION ALL
SELECT '2010-01-01 08:06:00'
UNION ALL
SELECT '2010-01-01 08:07:00'
UNION ALL
SELECT '2010-01-01 08:12:00'
結果は次のようになります。
08:05:00 | 3 //in the last 5 min we had 3 purchases
08:10:00 | 2
08:15:00 | 1
質問 :
これを行うには、08:00:00 から 1 日の終わりまでのすべての時間間隔を持つ一時テーブル (またはテーブル変数) を作成する必要がありますか? (参加による)
または、これはすべての可能な値を含むテーブルの助けを借りずに行うことができます
ありがとう。
ps 値が xx:05:00 に正確にある場合、すべてのアイテムで同じである限り、それがどのウィンドウに属しているかは問題ではありません