Я работаю в SQL Server 2014 и пытаюсь создать столбец для хранения интервала между вставками SQL. Как я могу это сделать? Я вставляю значения силы тока из нескольких датчиков с одной инструкцией вставки. Я хотел бы, чтобы стол выглядел как прикрепленная фотография.SQL Server 2014 Как хранить временные интервалы между вставками
ответ
Просто используйте lag()
для расчета этого, когда вам это нужно:
select t.*,
datediff(second, lag(timestamp) over (order by timestamp), timestamp
) as diff_in_seconds
from t;
Вам не нужно делать это при создании таблицы.
Я использовал задержку, но с тысячами записей и несколькими датчиками, запрос занимает очень много времени. –
@JaySettle у вас есть индекс на TimeStamp? – qxg
Я этого не делаю. Я попробую это. –
Вы можете использовать следующие
- Добавить новое поле, называемое внутренним по отношению к таблице и сделать запрос на обновление, чтобы обновить это поле «Интервал»
- Для новых записей выполните следующие действия
- Найдите последняя вставленная запись
top(1) and order by timestamp desc
- Включить новую запись с установкой значения
Iterval = now - lastinserted.TimeStamp
- Найдите последняя вставленная запись
это решение будет стоить времени на обновление существующих записей, но при вставке, вы запрашивая дб, чтобы получить последний вставлен, то вы посылаете к БД данным обновленных, но это решение будет лучше на данные, которые превышают 100 тыс. записей
Надеюсь, это вам поможет
спасибо, мне это нравится. Вы предлагаете хранимую процедуру, которая запускается на каждой вставке? Это может сработать, но я заинтересован в масштабировании ... хранимой процедуры, которая должна найти отметку времени «max» для этого датчика, которая фактически является соединением с другой таблицей датчиков. Если у меня есть тысячи микроконтроллеров с несколькими датчиками с тысячами записей, это займет больше времени, чем больше записей, которые он должен выполнить для поиска? –
вам не нужно найти max, вы получите последнюю вставленную запись, так как она будет удерживать максимальную временную метку – Monah
- 1. Временные интервалы между путями
- 2. Временные интервалы для SQL-сервера
- 3. найти временные интервалы с sql
- 4. Как преобразовать временные интервалы в SQL Server 2005?
- 5. Pandas groupby временные интервалы
- 6. Как измерить временные интервалы?
- 7. Как фильтровать временные интервалы?
- 8. Как хранить longitute & latitude как географию в SQL Server 2014?
- 9. Временные интервалы PHP
- 10. Временные интервалы перекрытия: выберите периоды «все занятые»
- 11. SQL Server 2014 (или отношения между таблицами)
- 12. Временные интервалы в SQL DATE vs java.sql.Date
- 13. Непоследовательные временные интервалы между процедурами очистки кеша
- 14. Временные интервалы перекрытия сложения/слияния
- 15. Mysql Найти свободные временные интервалы между встречами
- 16. Временные интервалы между циклами в python 3
- 17. Представлять и сравнить временные интервалы
- 18. Найти доступные временные интервалы с SQL
- 19. Временные интервалы PHP и MySQL, поддерживающие пользовательские временные интервалы
- 20. группы последовательные временные интервалы в SQL
- 21. Временные интервалы как строки python
- 22. Временные интервалы встречи EWS
- 23. Временные интервалы перекрытия - терадата
- 24. SQL Server 2014 Миграция
- 25. Временные интервалы в ggplot
- 26. SQL Server 2012: несоответствия DATETIME между вставками и триггерами
- 27. Как определить временные интервалы в Rails?
- 28. SQL Server 2014 Dynamic SQL
- 29. Строка соединения SQL Server 2014
- 30. Sql server 2014 Пейджинговая производительность?
Ваши данные не имеют смысла. Откуда взялось 14? Что случилось с использованием столбца «timestamp»? –
Извините. 14 - количество секунд между каждой вставкой. Это произвольное число. –
Я загрузил лучшее изображение с правильными вторыми интервалами. –