|
|
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
Коллеги, насколько верно предположение, что row_number=1 соответствует first_value того же partition? Код: 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. ну и нужно получить наилучшие данные сотрудника получаем но вычитая из первого множества второе (и наоборот) посредством оператора MINUS, получаем не 0 rows как ожидаем, а определённый набор строк Код: 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. И наоборот, На сайте оракла читаем что first_value по дефолту ставит в окно i f you omit the windowing_clause entirely, then the default is RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW . Ок, ставим range between unbounded preceding and unbounded following. Но нулла в итоге снова нет. Запросы что ли неверны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 19:45 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
sqlbeginer Код: plsql 1. Говнокод. Остальной поток сознания не заслуживает внимания. RTFM test-case. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 19:50 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
sqlbeginer, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 19:57 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
Elic, прокомментируйте пожалуйста результаты тест-кейса другого автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 23:25 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
sqlbeginerпрокомментируйте пожалуйста результаты тест-кейса другого автора.результаты ничего не показывают, так как недетерминизм сортировки является недерминизмом для обоих функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 23:52 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
sqlbeginerElic, прокомментируйте пожалуйста результаты тест-кейса другого автора. 1. Недетерминизм сортировки один из примеров когда дельта может быть не пустой. 2. sqlbeginer if you omit the windowing_clause entirely, then the default is RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW это может быть важно для last value desc, не для first value asc Код: 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. 3. В твою простыню мало кому интересно вникать. Как минимум, вызывает недоумение, что фильтр по active='Y' в первом случае post-join, а во втором pre-join. 4. Про "группировку" аналитикой уже сказали. ... n. Вообще вызывает недоумение почему бы самому не упростить запрос, убрать дополнительные соединения и/или добавить фильтры. Посмотреть что именно отличается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2017, 01:22 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop1. Недетерминизм сортировки один из примеров когда дельта может быть не пустой. Ещё и моя ошибка с тремя r_n=1, однако не совсем понял, Недетерминизм имеется в виду в том смысле, что fst_value поднял дублируемое value выше в соответствии с меньшим id, или что-то другое - какая-то более-менее известная истина? Я нашёл только вот The value returned by an analytic function with a logical offset is always deterministic. 2. sqlbeginer if you omit the windowing_clause entirely, then the default is RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW это может быть важно для last value desc, не для first value asc Код: 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. 4. Про "группировку" аналитикой уже сказали. В чём криминал п.4? в distinct? Если нет, то п.2., в котором видна надёжность fst_value, разве не опровергает п.4.? Если всё равно нет, то такая конструкция - тоже гомнокод или легальна Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ? n. Вообще вызывает недоумение почему бы самому не упростить запрос, убрать дополнительные соединения и/или добавить фильтры. Посмотреть что именно отличается. Фильтры пробовал, но после того, как увидел, что внешний запрос "переделывает" 1 из трёх rn подзапроса, понял, что неожиданностей многовато для одного раза, и решил обратиться с вопросом к доброжелателям. :) Модератор: Вложение удалено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2017, 17:31 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
Это был пример подзапроса, вот результат внешнего запроса Модератор: Вложение удалено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2017, 17:33 |
|
||
|
row_number vs first_value
|
|||
|---|---|---|---|
|
#18+
sqlbeginerВ чём криминал п.4? в distinct? Если нет, то п.2., в котором видна надёжность fst_value, разве не опровергает п.4.? Если всё равно нет, то такая конструкция - тоже гомнокод или легальнаНе нужна аналитика, чтобы группировать. RTFM FIRST/LAST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2017, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=136&tid=1884861]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 306ms |

| 0 / 0 |
