Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Есть таблица условная: Код: sql 1. получаем данные на некую дату по конкретному юзеру: user_id | date_action | action_from | action_by Вано |10.02.2018 | 10:00 | 12:00 Вано |10.02.2018 | 15:00 | 16:00 Вано |10.02.2018 | 18:00 | 20:00 можно ли запросом вычислить промежутки времени между action_by и action_from соседних записей, чтобы получить следующее: user_id | date_action | action_from | action_by | freedom_from_action Вано |10.02.2018 | 10:00 | 12:00 | 08:00-10:00 Вано |10.02.2018 | 15:00 | 16:00 | 12:00-15:00 Вано |10.02.2018 | 18:00 | 20:00 | 16:00-18:00 время 08:00 - константа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:17 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:29 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Рихтовщик, в зависимости от версии сервера: 1) [LEAD | LAG] over() 2) [CROSS | OUTER] APPLY(SELECT TOP(1) ...) 3) Коррелированный скалярный TOP (1) ползапрос в SELECT-листе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:31 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Блин - опять я усложняю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:35 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
версия 2012 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:36 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Рихтовщик, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:42 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Kopelly, спешишь... Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:47 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Kopelly, спасибо, а можно как-то дополнительно обработать именно последнюю строку? я добавил в запрос row_number() over(order by action_from), получил порядковые номера, можно как-то это использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 14:17 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Kopelly, смотри, что 2012 умеет: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 20:11 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
РихтовщикKopelly, спасибо, а можно как-то дополнительно обработать именно последнюю строку? я добавил в запрос row_number() over(order by action_from), получил порядковые номера, можно как-то это использовать? Case When row_number() over(order by action_from) = count(*) over() Then [Обработка] Else NULL end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 04:21 |
|
||
|
Вычисление временных промежутков.
|
|||
|---|---|---|---|
|
#18+
Рихтовщик, При необходимости добавляешь в оба Over () выражение Partition By ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 04:22 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39605888&tid=1690225]: |
0ms |
get settings: |
5ms |
get forum list: |
7ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
60ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 328ms |

| 0 / 0 |
