残念ながら、SQL Server 2005 のウィンドウ関数は十分に強力ではありません。相関サブクエリを使用してこれを解決します。
相関サブクエリは、ユーザーが各購入後 14 日以内にアイテムを購入した回数をカウントします (最初の購入はカウントしません)。
select t.*
from (select t.*,
(select count(*)
from t t2
where t2.personnumber = t.personnumber and
t2.itemnumber = t.itemnumber and
t2.transactionnumber <> t.transactionnumber and
t2.transactiondate >= t.transactiondate and
t2.transactiondate < DATEADD(day, 14, t.transactiondate
) NumWithin14Days
from transactions t
where transactionDate between '2001-01-01' and '2001-03-01'
) t
where NumWithin14Days > 0
サブクエリにも時間制限を入れたいと思うかもしれません.
transactions(personnumber, itemnumber, transactionnumber, itemdate)
のインデックス