|
|
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите с решением задачи. У меня есть таблица с 5-ю полями 1) МХ number 2) ТП number 3) ОСТ number 4) НОСТ number 5) ДСГ date Необходимо провести преобразования В разрезе МХ-ТП отсортировать по возрастанию ДСГ. Первому найденному (в каждом разрезе МХ-ТП) присвоить НОСТ(1) = 0 Остальным применить формулу НОСТ(n) = ОСТ(n) + max(0;HOCT(n-1)) Количество записей около 200 млн. Как сделать в цикле я знаю. Но хотелось бы реализовать с помощью запроса Подскажите, если это возможно сделать. Заранее всем спасибо!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2016, 18:02 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Adylov TimurПодскажите, если это возможно сделать. Гугли "аналитические функции, нарастающий итог". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2016, 18:21 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAdylov TimurПодскажите, если это возможно сделать. Гугли "аналитические функции, нарастающий итог". Оконные функции работают с уже готовым столбцом, а не со столбцом, который формируется во время запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2016, 18:35 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2016, 20:35 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
SY, Идея понятна, спасибо, буду сейчас реализовывать, но пока не уверен, что у меня это быстро сработает, как говорил ранее 200 млн. записей, а в запросе сначала выполняется аналитика, а потом соединение в рекурсии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2016, 12:40 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
SY Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. SY. Вроде работает на маленьких объемах, только надо было ещё дописать AND Т.МХ = R.МХ AND Т.ТП = R.ТП Спасибо, очень благодарен. Сейчас буду тестировать на больших объемах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2016, 14:48 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Adylov TimurSY, Идея понятна, спасибо, буду сейчас реализовывать, но пока не уверен, что у меня это быстро сработает, как говорил ранее 200 млн. записей, а в запросе сначала выполняется аналитика, а потом соединение в рекурсии. Хотя, если я чего-то не упустил, рекурсия тут не нужна - только аналитика: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Например: Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2016, 15:22 |
|
||
|
Реализация задачи с помощью запроса
|
|||
|---|---|---|---|
|
#18+
Пытаюсь понять вот эту конструкцию и пока не получается. Код: 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. Можно обращаться внутри WITH к нему самому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2016, 08:50 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39332148&tid=1887164]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 447ms |

| 0 / 0 |
