Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
Суть вопроса в следующем. Необходимо посчитать почасовые данные за определенный период, например за сутки. Для решения данной задачи создал запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Получаю, на первый взгляд, нормальный результат вида: Dev_ID TS maxActEnergy_Pos minActEnergy_Pos SumActEnergy 1 2019-02-11 00:00:00.000 720867.88 720713.06 154.82 1 2019-02-11 01:00:00.000 721040,19 720877,25 162,94 1 2019-02-11 02:00:00.000 721210,81 721050,25 160,56 1 2019-02-11 03:00:00.000 721384,13 721223,06 161,07 1 2019-02-11 04:00:00.000 721557,13 721394,44 162,69 1 2019-02-11 05:00:00.000 721726,38 721566,06 160,32 1 2019-02-11 06:00:00.000 721892,44 721737,88 154,56 1 2019-02-11 07:00:00.000 722059,69 721903 156,69 ........ По факту получается, что итоговый подсчет не верен, так как на границах диапазонов данные не учитываются, например maxActEnergy_Pos в 00:00 = 720867.88, minActEnergy_Pos в 01:00 = 720877,25 между ними есть еще около 10, и сума по диапазонам не равна общей разнице за период. И вот не могу решить эту задачу... Есть какие-то идеи как мне быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 13:35 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
svalex17, '2019-02-12' это '2019-02-12 00:00:00', скорее, вы прихватите лишнее за следующие сутки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 13:51 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
По факту есть значения в таблице '2019-02-11 01:59:00' '2019-02-11 02:01:15' ........ '2019-02-11 23:58:33:' '2019-02-12 00:01:23' Прихватить лишнее не боюсь, в крайнем случае заменю BETWEEN на ><. Но вот что делать с данными (разницей) на границах интервалов не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 14:03 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
svalex17Но вот что делать с данными (разницей) на границах интервалов не понимаю.И почему ее не должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 14:19 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
invmsvalex17Но вот что делать с данными (разницей) на границах интервалов не понимаю.И почему ее не должно быть? В данном случае идет подсчет потребленной электроэнергии, и если посчитать не правильно, а пока считается не правильно, будет не комильфо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 14:42 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
Решил вопрос с помощью двух оберток. Ниже привожу как именно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Результат устраивает. Интересно, можно ли решить более изящно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 15:19 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
svalex17, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 15:25 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
invmsvalex17, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Если я все правильно понял, то результат будет примерно такой, как и у меня в начале, т.е. сумма разниц по диапазонам не будет равна разнице за период. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 16:05 |
|
||
|
Подсчет почасовой разницы за период
|
|||
|---|---|---|---|
|
#18+
svalex17, А выполнить пример реально, а не в уме не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 16:23 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39777251&tid=1688256]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 543ms |

| 0 / 0 |
