イベントのテーブルがあり、各行には StartDateTime 列があります。イベントのサブセット (ユーザー ID など) をクエリし、連続するイベント間の平均日数を決定する必要があります。
表は基本的にこんな感じです。
TransactionID TransactionStartDateTime
----------------------------------------
277 2011-11-19 11:00:00.000
278 2011-11-19 11:00:00.000
279 2012-03-20 15:19:46.160
288 2012-03-20 19:23:06.507
289 2012-03-20 19:43:41.980
291 2012-03-20 19:55:17.523
この質問で参照されている次のクエリを適応させようとしました:
select a.TransactionID, b.TransactionID, avg(b.TransactionStartDateTime-a.TransactionStartDateTime) from
(select *, row_number() over (order by TransactionStartDateTime) rn from Transactions) a
join (select *, row_number() over (order by TransactionStartDateTime) rn from Transactions) b on (a.rn=b.rn-1)
group by
a.TransactionID, b.TransactionID
しかし、元のクエリが DateTimes を予期していなかったため、ここでは運がありません
私の予想される結果は、平均日数を表す 1 桁です(これは、上記のクエリで得られるものではないことがわかりました)。
何か案は?