Как запросом найти границы интервалов, когда НЕ заходили на заданный Web-ресурс?
В некоторой самописной конфигурации имеется справочник "historyvisits", в котором в поле "visit_date" типа "Дата" заносятся даты и время посещения некоторого Web-ресурса. За один день может быть несколько заходов, так что нужно группировать по дням.
Требуется написать запрос, который вычислит интервалы дней, в которых НЕ было посещения заданного ресурса (ГДЕ place_id=&ИД_Сайта) и выдаст поля:
1) НачалоИнтервала
2) КонецИнтервала
3) Дней простоя= разность п.2-п.1
Требуется написать запрос, который вычислит интервалы дней, в которых НЕ было посещения заданного ресурса (ГДЕ place_id=&ИД_Сайта) и выдаст поля:
1) НачалоИнтервала
2) КонецИнтервала
3) Дней простоя= разность п.2-п.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(historyvisits.visit_date, ДЕНЬ) КАК День
ПОМЕСТИТЬ ВТ_ДниПосещения
ИЗ
Справочник.historyvisits КАК historyvisits
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(ВТ_ДниПосещения.День, ДЕНЬ, 1) КАК НачалоИнтервала,
ДОБАВИТЬКДАТЕ(МИНИМУМ(СледующиеДни.День), ДЕНЬ, -1) КАК КонецИнтервала,
РАЗНОСТЬДАТ(ВТ_ДниПосещения.День, МИНИМУМ(СледующиеДни.День), ДЕНЬ) - 1 КАК ДнейПростоя
ИЗ
ВТ_ДниПосещения КАК ВТ_ДниПосещения
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДниПосещения КАК СледующиеДни
ПО (ВТ_ДниПосещения.День < СледующиеДни.День)
СГРУППИРОВАТЬ ПО
ВТ_ДниПосещения.День
ИМЕЮЩИЕ
РАЗНОСТЬДАТ(ВТ_ДниПосещения.День, МИНИМУМ(СледующиеДни.День), ДЕНЬ) > 1
УПОРЯДОЧИТЬ ПО
НачалоИнтервала
Показать
(3)
Через автодополнение что ли? А что, это МЫСЛЬ! Спасибо!!!
Да там по-рабоче-крестьянски: чисто группировка по дате, дальше обход запроса со сравнением с предыдущим значением. Но это дело уже забраковали, так как нужен чистый запрос. (Зато нет худа без добра: не надо думать, как запихнуть ЭТО в СКД ;))) )
Единственно общую схему подскажу
Через автодополнение что ли? А что, это МЫСЛЬ! Спасибо!!!
Выкладывай хоть какое-то решение, иначе не помогут
Да там по-рабоче-крестьянски: чисто группировка по дате, дальше обход запроса со сравнением с предыдущим значением. Но это дело уже забраковали, так как нужен чистый запрос. (Зато нет худа без добра: не надо думать, как запихнуть ЭТО в СКД ;))) )
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот