|
|
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#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. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. Необходимо вычесть все интервалы с rnk_id >1 из интервала с rnk_id=1. При этом В результате нужно для каждого id получить количество часов- чистого времени. Благодарен за любые подсказки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 12:47 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
Egoр, Не совсем понято чем start -of- group поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 14:06 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, Разворачиваешь всё в строки, джойнишь rnk_id >1 с rnk_id = 1, возвращаешь всё, что не заджойнилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 14:13 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, там даже задача почти как у тебя. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 14:15 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
Egoр, Похоже но не то, полученные периоды явно "не мои" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 14:59 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_newEgoр, Похоже но не то, полученные периоды явно "не мои"Приличных слов не нахожу, поэтому от эмоций воздержусь. Если выдаешь субъективную результирующую часть ("не мои"), то будь ласка, снабжать ее объективной мотивировочной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 15:15 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
Egoр, Виноват, небольшой цейтнот По id=1 1 (01.08.2015 - 07.08.2015) *24- засчитываем 1 (07.08.2015 - 08.08.2015) *0 НЕ считаем 1 (08.08.2015 - 09.08.2015) *24 - засчитываем 1 (09.08.2015 -10.08.2015) *0 НЕ засчитываем 1 (10.08.2015 - 12.08.2015) *24 Засчитываем 1 (12.08.2015- 14.08.2015 | как бы 22.08.2015 но интервал с rnk=1 |) * 0 не засчитываем Т.е суть в том что из большого интервала (rnk=1) вырезать мелкие подинтервалы с (rnk>1) , должны получиться другие мелкие интервалы значимые для итога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 19:00 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#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. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 07:33 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, о, моя любимая тема недовно было, лень искать, проще набрать Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 09:09 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_newEgoр, Виноват, небольшой цейтнот По id=1 I 1 (01.08.2015 - 07.08.2015 ) *24- засчитываем II 1 ( 07.08.2015 - 08.08.2015) *0 НЕ считаем 1 (08.08.2015 - 09.08.2015) *24 - засчитываем 1 (09.08.2015 -10.08.2015) *0 НЕ засчитываем 1 (10.08.2015 - 12.08.2015) *24 Засчитываем 1 (12.08.2015- 14.08.2015 | как бы 22.08.2015 но интервал с rnk=1 |) * 0 не засчитываем Т.е суть в том что из большого интервала (rnk=1) вырезать мелкие подинтервалы с (rnk>1) , должны получиться другие мелкие интервалы значимые для итога.Требуется уточнение о строгости определения границ интервалов. Например, дата 07.08.2015 указана в качестве границы и в строке I и в строке II. Но не указано в какой ОДНОЙ из этих строк она должна быть учтена. Т.к. для проверки интервалов я предпочитаю использовать between, то, по-умолчанию, считаю, что интервалы дат включают обе границы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 09:41 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
Stax, Супер! Снимаю шляпу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 11:56 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
Stax, Подскажите пожалуйста, для понимания, а каков физический смысл поля F здесь Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 12:29 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, Вам ж надо не просто обьеденить пересекающиеся интервалы, а как-то идентифицировать главный (rnk_id=1) c учетом уровня вложенности для первого "вес" 1, для всех других напр 2 где-то так ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 12:58 |
|
||
|
Опять интервалы :(
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, А можно прям в тупую =) Код: 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. Но решение Стаса мне нравиться больше =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 13:16 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39636800&tid=1884077]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
192ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 463ms |

| 0 / 0 |
