Resultados de agrupamiento de MySQL por períodos de time

Tengo una tabla que contiene marcas de time de events de session. Quiero consultar cuántas sesiones tengo de acuerdo con las marcas de time cuando 2 sesiones están separadas por al less 10 minutos de diferencia de events. ¿Puedo contar las sesiones con una consulta MySql?

Gracias

Con poca información en sus tables, esto no es más que una idea básica para usted, pero podría hacer algo como esto:

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) 

Obtenga toda la timestamp y únelas contra todas las demás marcas de time que sean mayores, y use MIN para networkingucirla a la siguiente timestamp más grande. A partir de ese momento, select el recuento en el que la diferencia sea inferior a 600 segundos (suponiendo las marcas de time de Unix).

EDITAR – Si desea el límite para el número de intervalos de 10 minutos + en events para los usuarios, entonces: –

 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)