SQL Server находит дату между различными строками, сумма

Я пытаюсь создать запрос, который анализирует данные в нашей системе отслеживания времени. Каждый раз, когда пользователь выполняет вход или выход, он создает строку с записью времени проведения и включения или выключения сайта (вход или выход). В случае пользователя 'Joe Bloggs' есть 4 строки, которые я хочу объединить и рассчитать общее время, проведенное на сайте для Joe Bloggs.

Проблема заключается в том, что есть записи, которые не так просто спарить. В приведенном примере у второго пользователя есть два последовательных включения, и мне нужно найти способ игнорировать повторяющиеся строки включения или выключения.

ID  | Time                    |OnOffSite| UserName   
------------------------------------------------------
123 | 2011-10-25 09:00:00.000 | on      | Bloggs Joe |
124 | 2011-10-25 12:00:00.000 | off     | Bloggs Joe |
125 | 2011-10-25 13:00:00.000 | on      | Bloggs Joe |
126 | 2011-10-25 17:00:00.000 | off     | Bloggs Joe |
127 | 2011-10-25 09:00:00.000 | on      | Jonesy Ian |
128 | 2011-10-25 10:00:00.000 | on      | Jonesy Ian |
129 | 2011-10-25 11:00:00.000 | off     | Jonesy Ian |
130 | 2011-10-25 12:00:00.000 | on      | Jonesy Ian |
131 | 2011-10-25 15:00:00.000 | off     | Jonesy Ian |

Моя система - MS SQL 2005. Отчетный период для запроса - Ежемесячный.

Кто-нибудь может предложить решение? мои данные уже сгруппированы в таблице по имени пользователя и времени, при этом в поле идентификатора указано Identity.

Ответы на вопрос(2)

Ваш ответ на вопрос