Следующая таблица истории пользователей содержит одну запись для каждого дня, когда данный пользователь заходил на веб-сайт (в 24-часовом периоде в формате UTC). В нем много тысяч записей, но только одна запись в день на пользователя. Если пользователь не заходил на веб-сайт в этот день, запись не создается.
Id UserId CreationDate ------ ------ ------------ 750997 12 2009-07-07 18: 42: 20.723 750998 15 2007-07-07 18:42: 20.927 751000 19 2009-07-07 18: 42: 22.283
Я ищу SQL-запрос к этой таблице с хорошей производительностью , который сообщает мне, какие идентификаторы пользователей обращались к веб-сайту в течение (n) непрерывных дней, не пропуская ни одного дня.
Другими словами, сколько пользователей имеют (n) записей в этой таблице с последовательными датами (на день до или на день после) ? Если в последовательности пропущен какой-либо день, последовательность прерывается и должна возобновиться снова с 1; мы ищем пользователей, которые прожили здесь непрерывное количество дней без пропусков.
Любое сходство между этим запросом и конкретным значком Stack Overflow , конечно же, чисто случайное .. :)