мне нужно запустить некоторый запрос к каждому набору строк в таблице (Azure SQL):применить запрос к каждой части таблицы индивидуально
ID CustomerID MsgTimestamp Msg
-------------------------------------------------
1 123 2017-01-01 10:00:00 Hello
2 123 2017-01-01 10:01:00 Hello again
3 123 2017-01-01 10:02:00 Can you help me with my order
4 123 2017-01-01 11:00:00 Are you still there
5 456 2017-01-01 10:07:00 Hey I'm a new customer
То, что я хочу сделать, это извлечь «сеанс чата» для каждого клиента из записей сообщений, то есть, если разрыв между двумя двумя последовательными сообщениями составляет менее 30 минут, они принадлежат к одному сеансу. Мне нужно записать начало и конец каждого сеанса в новой таблице. В приведенном выше примере начальное и конечное время первого сеанса для клиента 123 составляют 10:00 и 10:02.
Я знаю, что всегда могу использовать таблицу курсора и темпа для достижения этой цели, но я думаю об использовании любого заранее созданного механизма для достижения лучшей производительности. Пожалуйста, любезно сообщите мне.
Так здорово! Однажды я об использовании функции окна, но не знаю, как именно реализовать. и ваше использование «маркера сеанса» (столбец g и gg) является удивительным! – Ryan