Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Help! / 6 сообщений из 6, страница 1 из 1
07.06.2019, 11:15
    #39823910
Patucho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
Есть таблица истории действий с столбцами:

ИД действия, ИД клиента, Дата действия, Результат.


Как выбрать только те строки, где дата между первым и СЛЕДУЮЩИМ действием > 3 дней (72 часа) в не зависимости от результата?


В таблицу записываются отправка смс. Выборка необходима для отслеживания платежей после рассылки. Берем зазор в 72 часа. Но если по клиенту отправляли смс с периодичностью в 1 день (например попросил реквизиты отправить) то получу дубли по платежам.
...
Рейтинг: 0 / 0
07.06.2019, 11:25
    #39823917
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
Patucho,

DATEDIFF(hh,LAG([Дата действия]) OVER (PARTITION BY ORDER BY [Дата действия]),[Дата действия])

хотя может я не понимаю что такое между первым и СЛЕДУЮЩИМ
...
Рейтинг: 0 / 0
07.06.2019, 11:36
    #39823924
Patucho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
Код: sql
1.
2.
3.
4.
5.
6.
SELECT TOP 20 l.LID 'ID Клиента'
		,l.Created
		,l.State 'Result'
		,l.PhoneNumber
		,ROW_NUMBER() OVER (PARTITION BY PhoneNumber ORDER BY l.Created) 'Row'
FROM #l l



ID Клиента Created Result PhoneNumber Row23255455 2019-05-14 09:33:28.0000000 Не доставлено 79000268030 123194485 2019-05-10 10:06:22.0000000 Не доставлено 79000283353 123194485 2019-05-21 10:42:30.0000000 Не доставлено 79000283353 223194485 2019-05-27 09:52:09.0000000 Невозможно доставить 79000283353 323181989 2019-05-03 14:22:35.0000000 Доставлено 79000310913 123181989 2019-05-10 11:28:55.0000000 Доставлено 79000310913 223182491 2019-05-03 14:36:37.0000000 Доставлено 79000323120 123182491 2019-05-10 11:39:37.0000000 Доставлено 79000323120 223347243 2019-05-16 09:13:32.0000000 Доставлено 79000411508 123332591 2019-05-14 09:17:45.0000000 Доставлено 79000450561 1
...
Рейтинг: 0 / 0
07.06.2019, 11:38
    #39823925
Patucho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
Необходимо чтобы между Row 1 и 2 (2 и 3, 3 и 4, больше 4-х не может быть) разница в датах была > 72 часов
...
Рейтинг: 0 / 0
07.06.2019, 11:39
    #39823927
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
Patucho,

а я как сказал?
...
Рейтинг: 0 / 0
07.06.2019, 11:47
    #39823935
Patucho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!
TaPaK,

Не сразу понял)
Решение подходит, спасибо тебе, человечище!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Help! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]