Как запросом найти границы интервалов, когда НЕ заходили на заданный Web-ресурс?

1. DWZ2 31.01.25 21:12 Сейчас в теме
В некоторой самописной конфигурации имеется справочник "historyvisits", в котором в поле "visit_date" типа "Дата" заносятся даты и время посещения некоторого Web-ресурса. За один день может быть несколько заходов, так что нужно группировать по дням.

Требуется написать запрос, который вычислит интервалы дней, в которых НЕ было посещения заданного ресурса (ГДЕ place_id=&ИД_Сайта) и выдаст поля:
1) НачалоИнтервала
2) КонецИнтервала
3) Дней простоя= разность п.2-п.1
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 33 31.01.25 21:13 Сейчас в теме
(1) Пишите, мы не возражаем.
5. SlavaKron 01.02.25 15:25 Сейчас в теме
(1)
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(historyvisits.visit_date, ДЕНЬ) КАК День
ПОМЕСТИТЬ ВТ_ДниПосещения
ИЗ
    Справочник.historyvisits КАК historyvisits
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(ВТ_ДниПосещения.День, ДЕНЬ, 1) КАК НачалоИнтервала,
    ДОБАВИТЬКДАТЕ(МИНИМУМ(СледующиеДни.День), ДЕНЬ, -1) КАК КонецИнтервала,
    РАЗНОСТЬДАТ(ВТ_ДниПосещения.День, МИНИМУМ(СледующиеДни.День), ДЕНЬ) - 1 КАК ДнейПростоя
ИЗ
    ВТ_ДниПосещения КАК ВТ_ДниПосещения
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДниПосещения КАК СледующиеДни
        ПО (ВТ_ДниПосещения.День < СледующиеДни.День)

СГРУППИРОВАТЬ ПО
    ВТ_ДниПосещения.День

ИМЕЮЩИЕ
    РАЗНОСТЬДАТ(ВТ_ДниПосещения.День, МИНИМУМ(СледующиеДни.День), ДЕНЬ) > 1

УПОРЯДОЧИТЬ ПО
    НачалоИнтервала
Показать
3. miniogn 44 31.01.25 22:00 Сейчас в теме
Единственно общую схему подскажу, Соединяешь таблицу саму с собой и для каждой даты из первой таблицы ищешь минимальную из второй, но большую чем в первой.
Выкладывай хоть какое-то решение, иначе не помогут.
4. DWZ2 31.01.25 22:52 Сейчас в теме
(3)
Единственно общую схему подскажу


Через автодополнение что ли? А что, это МЫСЛЬ! Спасибо!!!

Выкладывай хоть какое-то решение, иначе не помогут


Да там по-рабоче-крестьянски: чисто группировка по дате, дальше обход запроса со сравнением с предыдущим значением. Но это дело уже забраковали, так как нужен чистый запрос. (Зато нет худа без добра: не надо думать, как запихнуть ЭТО в СКД ;))) )
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот