|
|
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Подскажите плиз как можно вытащить максимальную разницу между записями в таб. по типу ниже? Требуется, например, вернуть для id = 193 следующие даты 01.09.2014 и 01.01.2017, и для id = 269 даты - 01.01.2014 и 01.09.2016. Думаю, это можно сделать через циклы. ID M ost 193 01.07.2014 50000 193 01.08.2014 6000 193 01.09.2014 700000 193 01.01.2017 3301,57 193 01.04.2017 0 269 01.12.2013 9274,666667 269 01.01.2014 23183,92 269 01.09.2016 22883,92 269 01.11.2016 12100 269 01.12.2016 3546 269 01.01.2017 21983,92 269 01.03.2017 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 18:19 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
Можно и без циклов, одним запросом. Почитайте про аналитические функции: https://docs.oracle.com/cloud/latest/db112/SQLRF/functions004.htm Конкретно есть функция lag. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:05 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
tenmonan, что-то я не понял, как для id = 269 разница между 01.01.2014 и 01.09.2016, равная 300, вдруг стала больше разницы между 01.01.2017 и 01.03.2017, которая равна 21983,92? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 12:02 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
tenmonan, 20670977 Код: plsql 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. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 12:48 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
Азагаш, tenmonan зачем-то прописал поле ost которое и сбивает, по предложенному им ответу, он хочет искать максимальный результат между смежными датами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 12:50 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, 01.09.2014 и 01.01.2017 cмежные по какому критерию? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 13:57 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
stax..MaximaXXL, 01.09.2014 и 01.01.2017 cмежные по какому критерию? ..... stax Да я без руля не моя постановка Просто прикинул ответ, который написал tenmonan и он получается если написать что-то такое: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 16:35 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
Азагаш, поле ost это не разница между датами, это отдельное поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2017, 10:09 |
|
||
|
нахождение максимальной разницы между записями
|
|||
|---|---|---|---|
|
#18+
Valergrad, спасибо! с помощью lag удалось решить задачу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2017, 10:12 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39495776&tid=1885530]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 441ms |

| 0 / 0 |
