powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Количество "касаний" в рамках 1-й минуты
5 сообщений из 5, страница 1 из 1
Количество "касаний" в рамках 1-й минуты
    #39705302
Pallich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Помогите пожалуйста определить количество клиентов (касаний клиентов) которые сделали транзакции НЕ в рамках 1-й минуты.
А именно должно считаться только то время которое отличается у данного клиента от предыдущего его времени более чем на 1 минуту.

Пример.

Есть данные:

ClientId; DateTime
111; 10:30:05
111; 10:30:55
111; 10:31:50
111; 10:32:10
111; 10:33:05

111; 11:00:00
111; 11:00:10

222; 10:00:00
222; 10:00:10

222; 10:10:00
222; 10:10:30

222; 11:00:00

(пустыми строками разделил касания, чтоб наглядно понятнее было что значит "касание")


Желаемый результат:

ClientId; Count
111; 2
222; 3


Спасибо.
...
Рейтинг: 0 / 0
Количество "касаний" в рамках 1-й минуты
    #39705342
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallich,
lead / lag Вам в помощь
...
Рейтинг: 0 / 0
Количество "касаний" в рамках 1-й минуты
    #39705349
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
with t as ( select * from [Есть данные:] )
 select * from f
                    where not exists( select from t as t1 where t1.ClientId = t.ClientId and t1.DateTime >= dateadd( minute, -1, t.DateTime )
...
Рейтинг: 0 / 0
Количество "касаний" в рамках 1-й минуты
    #39705393
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with a as
(
 select id, t, case when datediff(s, lag(t, 1, t) over (partition by id order by t), t) > 60 then 1 else 0 end as d from [Есть данные]
),
b as
(
 select id, t, d, sum(d) over (partition by id order by t) as g from a
)
select id, count(distinct g) from b group by id;
...
Рейтинг: 0 / 0
Количество "касаний" в рамках 1-й минуты
    #39705551
Pallich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222, Спасибо, но не смог таким образом посчитать. Ошибка

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


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