В каждый минутный интервал я хотел бы консолидировать значения в моей таблице SQL для сжатия пространства. Если у меня есть таблица со значениями, такими как:Consoldate Date Range Значения
UserId Value Date
1 2 10/08/2010 10:30:00
1 2 10/08/2010 10:30:10
1 2 10/08/2010 10:30:20
1 2 10/08/2010 10:30:30
1 2 10/08/2010 10:30:40
1 2 10/08/2010 10:30:50
1 2 10/08/2010 10:31:00
1 2 10/08/2010 10:31:10
1 2 10/08/2010 10:31:20
1 2 10/08/2010 10:31:30
1 2 10/08/2010 10:31:40
1 2 10/08/2010 10:31:50
Каждую минуту я хотел бы сжать значения в одноминутные интервалы. Таким образом, верхний стол будет выглядеть так:
UserId Value Date
1 12 10/08/2010 10:30:00
1 12 10/08/2010 10:31:00
... после того, как запрос был запущен. Предыдущие значения будут удалены и заменены новыми консолидированными значениями.
Как это сделать в TSQL?
(1) Будете ли вы когда-либо вставлять записи, не связанные с предыдущей минутой, или просто нужно посмотреть на предыдущую минуту? (2) Зачем вообще вставлять все эти разные записи? Можете ли вы не просто использовать upsert с помощью слияния, поэтому он будет вставляться только в том случае, если в течение этой минуты нет записи и в противном случае она увеличивается? –
Это для графического отображения значений. При просмотре живой диаграммы значения разбиваются на 10 секундных интервалов. После того, как минута закончилась, значения консолидируются. Через час протоколы объединяются и т. Д. –