MySQL: группировка по дням подряд и подсчет групп

У меня есть таблица базы данных, в которой хранятся отметки каждого пользователя в Мне нужно знать, сколько дней пользователь был в городе, а затем, сколько посещений он совершил в городе (посещение состоит из дней, проведенных в городе подряд).

Итак, рассмотрим, что я иметь следующую таблицу (упрощенную, содержащую только DATETIME s - тот же пользователь и город):

      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

Количество дней, в течение которых этот пользователь был в этом городе, будет 6 ( 30,06 , 01,07 , 02,07 , 01,08 , 05,08 , 06,08 ).

Я подумал о том, чтобы сделать это, используя SELECT COUNT (id) FROM table GROUP BY DATE (datetime)

Затем, для количества посещений этого города этим пользователем, запрос должен вернуть 3 ( 30.06-02.07 , 01.08 , 05.08-06.08 ).

Проблема в том, что я понятия не имею, как мне построить этот запрос.

Мы будем благодарны за любую помощь!

8
задан Martin Smith 5 September 2011 в 00:28
поделиться