|
|
|
SQL needed: datediff from next row
|
|||
|---|---|---|---|
|
#18+
Уважаемые Гуру! У меня есть таблица в IQ 12.7 следующей структуры: T1: key integer, val float, valTime datetime В ней содержатся данные типа: 21, 123.55, 'Sep 29 2009 10:00:00" 21, 125.0, 'Sep 29 2009 10:00:20" 21, 133.25, 'Sep 29 2009 10:01:50" 21, 103.3, 'Sep 29 2009 10:02:10" Мне нужно посчитать взвешенное по времени среднее значение для каждого key. То есть что-то вроде: (123.55 * 20 (first value was active for 20 seconds) + 125.0 * 90 + 133.25 * 20)/130 Кто-нибудь знает, как это сделать в SQL? Заранее благодарю, Света ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2009, 20:24 |
|
||
|
SQL needed: datediff from next row
|
|||
|---|---|---|---|
|
#18+
Добавь в таблицу колонку - долгота значения Код: plaintext потом заполни ее: Код: plaintext 1. 2. а потом выбирай сколько угодно: Код: plaintext Ты ж в IQ, не бойся лишних колонок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2009, 23:46 |
|
||
|
SQL needed: datediff from next row
|
|||
|---|---|---|---|
|
#18+
White Owl, Во-первых, спасибо большое! Вполне изящный SQL, и он работает. Одна проблема: на таблице в 1М записей этот update работает очень долго... Какая-нибудь идея, как это оптимизировать? Временные таблицы я не экономлю (как и колонки :-)), сколько надо, столько и будет. Света ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2009, 12:36 |
|
||
|
SQL needed: datediff from next row
|
|||
|---|---|---|---|
|
#18+
White Owl, Еще один вопрос: что предпочтительнее с точки зрения скорости - работать с временными таблицами или использовать постоянные с разумными индексами? Например, можно построить на таблице t1 индекс по ключу, предполагаю, это ускорит процесс. Спасибо, Света ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2009, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36234016&tid=2010884]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 247ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...