MySQL: agrupe por dias consecutivos e conte grupos
Tenho uma tabela de banco de dados que contém os check-ins de cada usuário nas cidades. Preciso saber quantos dias um usuário está em uma cidade e, em seguida, quantas visitas um usuário fez a uma cidade (uma visita consiste em dias consecutivos passados em uma cidade).
Então, considere que tenho a tabela a seguir (simplificada, contendo apenas oDATETIME
s - mesmo usuário e cidade):
datetime
-------------------
2011-06-30 12:11:46
2011-07-01 13:16:34
2011-07-01 15:22:45
2011-07-01 22:35:00
2011-07-02 13:45:12
2011-08-01 00:11:45
2011-08-05 17:14:34
2011-08-05 18:11:46
2011-08-06 20:22:12
O número de dias que esse usuário esteve nesta cidade seria6 ( 30,06, 01.07, 02.07, 01.08, 05.08, 06.08).
Pensei em fazer isso usandoSELECT COUNT(id) FROM table GROUP BY DATE(datetime)
Então, para o número de visitas que esse usuário fez a esta cidade, a consulta deve retornar3 ( 30.06-02.07, 01.08, 05.08-06.08).
O problema é que não tenho idéia de como criar essa consult
Qualquer ajuda seria muito apreciada!