|
Раскинуть сумму между строками
|
|||
---|---|---|---|
#18+
Ребят, может подскажите как решить данную задачу, сервер 2016 Из столбца kg, сумму необходимо раскинуть по дате или по row_id, но вычитая на каждой строке, как бы смотреть на результат из предыдущей строки. row_id id availability_datetime reserved_kg kg результат 1 570013 2020-09-17 10:09:25.000 1 300 1 869 1 300 2 570013 2020-09-17 06:15:56.000 385 385 3 570013 2020-09-17 06:13:47.000 296 184 4 570013 2020-09-17 06:12:21.000 119 1 554444 2020-09-17 10:09:25.000 3 300 2 869 2 869 2 554444 2020-09-17 06:15:56.000 385 3 554444 2020-09-17 06:13:47.000 296 4 554444 2020-09-17 06:12:21.000 119 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 13:42 |
|
Раскинуть сумму между строками
|
|||
---|---|---|---|
#18+
Focha, sum() over() + case ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:09 |
|
Раскинуть сумму между строками
|
|||
---|---|---|---|
#18+
Код: 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. 26. 27. 28.
row_ididreserved_kgkgresult15544443300286928692554444385NULLNULL3554444296NULLNULL4554444119NULLNULL15700131300186913002570013385NULL3853570013296NULL1844570013119NULLNULL ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:18 |
|
Раскинуть сумму между строками
|
|||
---|---|---|---|
#18+
А вот такой вариант по идее должен быть чуть лучше в плане производительности: Код: 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. 26. 27. 28. 29.
Конструкция Код: sql 1.
возвращает нарастающий итог по reserved_kg, т.е. сумму значений от первой строки оконного кадра до текущей строки кадра. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 15:12 |
|
|
start [/forum/topic.php?fid=46&msg=39999795&tid=1685616]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 149ms |
0 / 0 |