SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Microsoft SQL Server » Сумма определенных значений столбца
Сумма определенных значений столбца [сообщение #3297] Mon, 09 October 2023 11:55 Переход к следующему сообщению
ValRi в настоящее время не в онлайне  ValRi
Сообщений: 1
Зарегистрирован: October 2023
Junior Member
Здравствуйте!
Имеется таблица, в которую записывается показание счетчика. Счетчик может быть сброшен (например, 09.10.23 в 19:03).
id date count
1 09.10.23 08:00 5
2 09.10.23 08:10 7
3 09.10.23 08:20 10
4 09.10.23 08:30 13
5 09.10.23 08:41 17
6 09.10.23 08:56 26
7 09.10.23 19:03 0
8 09.10.23 20:04 3
9 09.10.23 21:10 7
10 09.10.23 21:15 12

Нужно в результате получить сумму значений счетчика за день - 26 + 12 = 38
Re: Сумма определенных значений столбца [сообщение #3301 является ответом на сообщение #3297] Mon, 09 October 2023 13:57 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 417
Зарегистрирован: August 2022
Senior Member
Невозможно. Нет способа определить был ли между 20:04 и 21:10 счётчик просто увеличен на 4 или сброшен, а потом увеличен на 7.
Re: Сумма определенных значений столбца [сообщение #3302 является ответом на сообщение #3301] Mon, 09 October 2023 14:31 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 368
Зарегистрирован: June 2022
Senior Member
Если 0 всегда пишется в бд, то возможно, но одним запросом пожалуй не сделать.
Нужно идти от начала дня и смотреть на возрастающую последовательность. Как только встретился 0 или конец дня, то запомнить число предыдущее максимальное число. И далее опять смотреть возрастающую последовательность до окончания дня или следующего 0.
Re: Сумма определенных значений столбца [сообщение #3317 является ответом на сообщение #3302] Tue, 10 October 2023 13:50 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 417
Зарегистрирован: August 2022
Senior Member
sum() ... where lag(count order by date) > count
MS не поддерживает?
Re: Сумма определенных значений столбца [сообщение #3318 является ответом на сообщение #3317] Tue, 10 October 2023 13:54 Переход к предыдущему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
начиная с SQL Server 2012
Предыдущая тема: Интересные статьи и полезные ссылки
Следующая тема: join
Переход к форуму:
  


Текущее время: Mon Dec 23 00:51:01 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00700 секунд