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 oDATETIMEs - 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!

questionAnswers(5)

yourAnswerToTheQuestion