У меня есть таблица следующимCount для последовательных записей
> RowID SessionID EventID RequestedURL Date > 1 m2jqyc45g 1 Start 24/03/2010 19:52 > 2 m2jqyc45g 1 ProductPage 24/03/2010 19:52 > 3 m2jqyc45g 28 BuyNow 24/03/2010 19:52 > 4 tjmvb55dc4dg 1 ProductPage 24/03/2010 19:52 > 5 tjmvb55dc4dg 1 BuyNow 24/03/2010 19:56 > 6 tjmvb55dc4dg 1 Clicked OK 24/03/2010 19:56 > 7 m2jqyc45g 1 Clicked OK 24/03/2010 19:56 > 8 tjmvb55dc4dg 28 Help 24/03/2010 19:56 > 9 m2jqyc45g 1 Home 24/03/2010 19:56 > 6 m2jqyc45g 1 ProductPage 24/03/2010 19:56 > 7 tjmvb55dc4dg 1 BuyNow 24/03/2010 19:56 > 8 tjmvb55dc4dg 28 Clicked OK 24/03/2010 19:56 > 9 tjmvb55dc4dg 1 Home 24/03/2010 19:56
Как написать запрос, который делает подсчет всякий раз, когда строки BuyNow и щелкнул OK были записаны последовательно в той или иной сессии? Например, в приведенном выше наборе данных показано, как 2 пользователя на сайте записывают отдельные сеансы. Количество возврата должно быть 3.
Я бегу SQL Server 2008
EDIT Просто чтобы прояснить, что я имею в виду последовательных строк и почему счетчик должен возвращать 3. В сессии m2jqyc45g года BuyNow и Clicked Ok происходит последовательно в течение сеанса, но когда он вводится в таблицу, есть и другие параллельные сеансы, которые прерывают последовательность. Если вы должны были заказать набор результатов с помощью SessionID, а затем по дате, вы получите их один за другим. Кроме того, была опечатка с RowID7, ProductPage должна быть BuyNow. Простите за это.
Как я могу выровнять столбцы с заголовками ??? – super9
Зачем нужен счет? Есть только 2 BuyNow. – DyingCactus
вам нужно объяснить, как правильно упорядочить строки в ваших данных образца - все эти действия действительно происходят в одну секунду? Кроме того, вам может потребоваться более четко определить, что вы подразумеваете под «последовательно», если вы действительно ожидаете 3 в результате. –