Появилась проблема с запросом, который я пытаюсь написать. У меня есть таблица, в которой перечислены люди, которым было отправлено электронное письмо. Существует бит столбца с именем Active, для которого установлено значение true, если они ответили. Но мне нужно подсчитать количество последовательных писем, которые человек неактивен с момента их первого электронного письма или последнего активного сообщения.Подсчет последовательных элементов в SQL Server
Например, эта базовая таблица показывает, что одному человеку было отправлено 9 сообщений электронной почты. Они были активны в двух письмах (3 & 5). Таким образом, их неактивный счет будет равен 4, поскольку мы рассчитываем от электронной почты номер 6 и далее.
PersonID(int) EmailID(int) EmailDate(datetime) Active(bit)
1 1 2009-07-18 19:56:20 0
1 2 2009-08-18 19:56:20 0
1 3 2009-09-18 19:56:20 1
1 4 2009-10-18 19:56:20 0
1 5 2009-11-18 19:56:20 1
1 6 2009-12-18 19:56:20 0
1 7 2010-01-18 19:56:20 0
1 8 2010-02-18 19:56:20 0
1 9 2010-03-18 19:56:20 0
Любые указатели или помощь были бы замечательными.
С уважением Грег
Мой 2с - Активная колонка должна быть вызвана HasResponded на самом деле указывают на действие. –
Являются ли ваши данные образцов точным описанием проблемы? Я имею в виду, что идентификаторы EmailID всегда * гарантированы *, чтобы быть последовательными (без перерывов в нумерации) в пределах каждого значения PersonID? –
Есть даты, связанные с письмами. Думаю, я отредактирую сообщение, чтобы это отразить. – Greg