आपकी टेबल पर थोड़ी सी जानकारी के साथ यह आपके लिए एक बुनियादी विचार से ज्यादा कुछ नहीं है, लेकिन आप ऐसा कुछ कर सकते हैं:-
SELECT COUNT(*)
FROM
(
SELECT a.TimeStamp AS ThisTimeStamp, MIN(b.TimeStamp) AS NextTimeStamp
FROM SomeTable a
INNER JOIN SomeTable b
ON a.TimeStamp < b.TimeStamp
GROUP BY a.TimeStamp
) Sub1
WHERE Sub1.ThisTimeStamp < (Sub1.NextTimeStamp - 600)
सभी टाइमस्टैम्प प्राप्त करें और उन सभी अन्य टाइमस्टैम्प के साथ जुड़ें जो अधिक हैं, और MIN का उपयोग करके इसे अगले सबसे बड़े टाइमस्टैम्प तक सीमित करें। फिर उसमें से उस गिनती का चयन करें जहां अंतर 600 सेकंड से कम है (यूनिक्स टाइमस्टैम्प मानकर)।
संपादित करें - यदि आप चाहते हैं कि उपयोगकर्ताओं के लिए घटनाओं में 10 मिनट + अंतराल की संख्या के लिए बंधे हों तो:-
SELECT COUNT(*)
FROM
(
SELECT a.user_id, a.TimeStamp AS ThisTimeStamp, MIN(b.TimeStamp) AS NextTimeStamp
FROM SomeTable a
INNER JOIN SomeTable b
ON a.TimeStamp < b.TimeStamp
AND a.user_id = b.user_id
GROUP BY a.user_id, a.TimeStamp
) Sub1
WHERE Sub1.ThisTimeStamp < (Sub1.NextTimeStamp - 600)