MySQL: agrupar por días consecutivos y contar grupos

Tengo una tabla de base de datos que contiene los registros de cada usuario en las ciudades. Necesito saber cuántos días ha estado un usuario en una ciudad y, luego, cuántas visitas ha realizado un usuario a una ciudad (una visita consiste en días consecutivos en una ciudad).

ntonces, considere que tengo la siguiente tabla (simplificada, que contiene solo laDATETIMEs - mismo usuario y ciudad):

      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

El número de días que este usuario ha estado en esta ciudad sería6 ( 30.06, 01.07, 02.07, 01.08, 05.08, 06.08).

Pensé en hacer esto usandoSELECT COUNT(id) FROM table GROUP BY DATE(datetime)

Entonces, para la cantidad de visitas que este usuario ha realizado a esta ciudad, la consulta debe devolver3 ( 30.06-02.07, 01.08, 05.08-06.08).

El problema es que no tengo idea de cómo construiré esta consulta.

¡Cualquier ayuda sería muy apreciada