यह एक प्रकार की गैप्स-एंड-आइलैंड समस्या है। यह SQL सर्वर 2005 जैसे गैर-समर्थित प्राचीन सॉफ़्टवेयर में भी हल करने योग्य है, क्योंकि उस संस्करण में row_number()
है ।
एक तरकीब है टाइम आईडी को सच्चाई . में बदलना दिनांक और समय। दूसरी तरकीब यह है कि तारीख/समय मान से महीनों की क्रमिक संख्या घटाकर समूहों को परिभाषित किया जाए:
select player, team, min(timeid), max(timeid)
from (select lp.*,
row_number() over (partition by player, team order by timeid) as seqnum,
cast(cast(timeid + 1 as varchar(255)) as datetime) as yyyymm
from logplayer lp
) lp
group by player, team, dateadd(month, - seqnum, yyyymm)
order by player, team, min(timeid);
यहां एक डीबी<>बेला है।