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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.06.2018, 14:17
|
|||
|---|---|---|---|
|
|||
Расчет разницы значений |
|||
|
#18+
Добрый день, форумчане. Имеется следующая выборка: Date_Time Value1 2018-06-10 10:00:00 255 2018-06-10 10:00:10 260 2018-06-10 10:00:20 275 2018-06-10 10:00:30 285 2018-06-10 10:00:40 289 Пусть для примера сидит в #TempTable Т.е. значение в колонке Value постоянно растет. Мне нужно получить разницу между каждым приращением: 2018-06-10 10:00:10 5 2018-06-10 10:00:20 15 2018-06-10 10:00:30 10 2018-06-10 10:00:40 4 Как это лучше всего сделать через view в sql2000? Самообъединение типа : SELECT p1.[Date_Time],abs(p1.[Value1]-p2.[Value1]) FROM #TempTable p1 inner join #TempTable p2 on p1.Date_Time=p2.Date_Time даст просто : 2018-06-10 10:00:00 0 2018-06-10 10:00:10 0 2018-06-10 10:00:20 0 2018-06-10 10:00:30 0 2018-06-10 10:00:40 0 А как-бы учесть еще и разницу по времени между отсчетами? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 14:36
|
|||
|---|---|---|---|
Расчет разницы значений |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 14:47
|
|||
|---|---|---|---|
Расчет разницы значений |
|||
|
#18+
iap Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Работать это будет. Но медленно. Если ужо и так временная таблица - надо вставить данные туда с последовательной нумерацией Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 14:58
|
|||
|---|---|---|---|
|
|||
Расчет разницы значений |
|||
|
#18+
Спасибо, iap , вроде первый вариант работает, но как действительно быть c быстродействием, если таких столбцов в таблице в итоге будет много, т. е. структура таблицы планируется быть таковой: Date_Time,Value1,...,Value100 ? И временная таблица просто приведена как пример, так я планировал выводить данные во вьюхе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2018, 10:17
|
|||
|---|---|---|---|
|
|||
Расчет разницы значений |
|||
|
#18+
Спасибо всем откликнувшимся форумчанам. Немного погодя приходится вернуться к заданному вопросу, но уже с измененными условиями: теперь если разность между соседними значениями выборки равна 0 ( Dif=Value1-ISNULL(... из примера, любезно предоставленного iap ), то в запросе выводить разность, рассчитанную на предыдущем временном промежутке, если первая же разность при этом равна 0, то необходимо выводить 0, но если две разности и больше подряд равны 0, вместо первой разности надо выводить рассчитанную на предыдущем временном промежутке, для второй и последующей разности выводить 0 до тех пор, пока разность не станет отличной от 0. Теперь уже окончательно голова кругом идет. Как все это завернуть в единый запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1689381]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 321ms |

| 0 / 0 |
