|
|
|
rownum
|
|||
|---|---|---|---|
|
#18+
уважаемые знатоки, что-то меня переклинило, видимо от жары в офисе..... туплю скажите же плиз запрос типа : select d...... колонки колонки from таблица where условия and условия and rownum <=1 сначала же отработает rownum ? то есть корректно сделать подзапрос с условиями и роунам вынести в запрос , типа : select колонка in (select d...... колонки колонки from таблица where условия and условия order by .....) where rownum <=1 ? да же ? сори за тупой вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 16:24 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
RTFM top-N reporting (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 16:29 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
Ozornitca, нет, rownum в последнюю очередь (до order by) если без сортировки, то подзапрос не нужен результат в общем случае случаен ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 19:11 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..rownum в последнюю очередь (до order by)Шо правда? То есть аналитика посчитается ДО where rownum? Код: plsql 1. 2. 3. Какой ответ по-твоему не выполняя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 19:21 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
спасибо за конкретный пример ! select value(t) v, sum(value(t)) over() s from table(sys.odcinumberlist(1, 2, 3, 4, 5)) t where rownum <= 3 order by value(t) desc; отобрал первые три записи и потом их отсортировал то есть мне для корректной работы надо выносить в подзапрос, там сортировать и брать первое значение роунамом <= 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 19:41 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, не понял в чем подвох можете не верить, но я правильно ответил 1.2.3 уточню свой ответ выполняются все предикаты (условия) во where (connect by/group by/unique) номеруются строки отсекаются не нужные (до сортіровкі) зы справедливости ради, признаюсь что не совсем понимаю как работает rownum<n в рекурсивном with ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 19:43 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..dbms_photoshop, не понял в чем подвох можете не верить, но я правильно ответил 1.2.3Только аналитику ты решил проигнорить. Поинт был в том, что "после rownum" выполняется группировка, аналитика, having, distinct, скаляры и проч. stax..уточню свой ответ выполняются все предикаты (условия) во where (connect by/group by/unique) номеруются строки отсекаются не нужные (до сортіровкі)Это не так. По твоей логике сначала сработвает unique (интересно как), а потом сгенерится rownum. Например Код: plaintext в рекурсивном withТак же как и без оного. Только не нужно путать генерацию rownum для рекурсивного члена и геренацию rownum при выборке из with. Недавно затрагивал с тобой схожий вопрос 20249759 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 20:13 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..выполняются все предикаты (условия) во where (connect by/group by/unique) номеруются строки отсекаются не нужные (до сортіровкі)Неверно. У любой строки-кандидата в результирующий набор всегда есть текущий rownum, который можно использовать в любой момент в предикатах и не только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 07:34 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
спасибо за интересную информацию в теме, все прочитаю!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 10:00 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..dbms_photoshop, не понял в чем подвох можете не верить, но я правильно ответил 1.2.3Только аналитику ты решил проигнорить. Поинт был в том, что "после rownum" выполняется группировка, аналитика, having, distinct, скаляры и проч. stax..уточню свой ответ выполняются все предикаты (условия) во where (connect by/group by/unique) номеруются строки отсекаются не нужные (до сортіровкі)Это не так. По твоей логике сначала сработвает unique (интересно как), а потом сгенерится rownum. Например Код: plaintext в рекурсивном withТак же как и без оного. Только не нужно путать генерацию rownum для рекурсивного члена и геренацию rownum при выборке из with. Недавно затрагивал с тобой схожий вопрос 20249759 . по очереди connect by я неправ , поспешил и опозорился 1) cтроится дерево 2) сортируется sibling 3) выполняется where без rownum 4) номеруется 5) отсекаются записи согласно условию rownum< про аналитику не понял, все там нормально работает без подзапросов пример, первые любые пять с средним Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. про unique, не точно описал rownum -> group by ->distinct про with я не путаю, у меня получілся непонятний результат, не стал разбиратся сделал по другому в такой конструкции rownum должен срабативать для запроса в union all (берем не больше двух наследніков)? Код: plsql 1. 2. 3. 4. 5. 6. вернусь к Ozornitca (с чего началось) Ozornitcaскажите же плиз запрос типа : select d...... колонки колонки from таблица where условия and условия and rownum <=1 сначала же отработает rownum ? нет, сначала тработает условия and условия последним and rownum <=1 сдесь нет сортировки поетому подзапрос не нужен, получинте одну "псевдослучайную" запись Ozornitcaто есть корректно сделать подзапрос с условиями и роунам вынести в запрос , типа : select колонка in (select d...... колонки колонки from таблица where условия and условия ==>order by .....) where rownum <=1 ? да же ? да, нужен подзапрос, Вы берете первую c учетом order by ....., если сортировка не уникальна то тоже получите "псевдослучайную" запись ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:34 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..про аналитику не понял, все там нормально работает без подзапросовFeel the difference Код: 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. Так что rownum в последнюю очередь? PS. С деревьями у тебя снова каша вышла. Впрочем обсуждалось уже не раз, нет интереса мусолить опять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:40 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..(берем не больше двух наследніков)? Код: plsql 1. 2. 3. 4. 5. 6. Да, такая конструкция вернет не более двух строк для каждого выполнения рекурсивного члена. Наследники не совсем корректно использовать. Какие-либо связи родитель-потомок могу отсутствовать. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:49 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..про аналитику не понял, все там нормально работает без подзапросовFeel the difference Код: 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. Так что rownum в последнюю очередь? PS. С деревьями у тебя снова каша вышла. Впрочем обсуждалось уже не раз, нет интереса мусолить опять. про аналитику все нормально работает без подзапроса и с подзапросов результаты разные, я ето и ожидал в зависимости что надо получить, так и кодируем главное 1) аналитика работает после отсечения записей 2) start with до отсечения записей зы если нет интесеса, я ж Вас не могу заставить, вольному воля на то и форум, меня ж никто не заставлял отвечать Озорничке мож другие найдутся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:04 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
stax..dbms_photoshopпропущено... Feel the difference Код: 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. Так что rownum в последнюю очередь? PS. С деревьями у тебя снова каша вышла. Впрочем обсуждалось уже не раз, нет интереса мусолить опять. про аналитику все нормально работает без подзапроса и с подзапросов результаты разные, я ето и ожидал в зависимости что надо получить, так и кодируем главное 1) аналитика работает после отсечения записей 2) start with до отсечения записей зы если нет интесеса, я ж Вас не могу заставить, вольному воля на то и форум, меня ж никто не заставлял отвечать Озорничке мож другие найдутсяСтанислав, я допускаю что определенное понимание у тебя имеется, но изъяснешься ты очень косноязычно. Я обратил внимание что выражение касательно rownum "в последнюю очередь" некорректно, но ты либо так и не понял своей ошибки либо упорно пытаешься игнорировать. Можешь почитать при желании в доке "Oracle processes hierarchical queries as follows" если уж цель точно проанализировать where clause. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:15 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopСтанислав, я допускаю что определенное понимание у тебя имеется, но изъяснешься ты очень косноязычно. Я обратил внимание что выражение касательно rownum "в последнюю очередь" некорректно, но ты либо так и не понял своей ошибки либо упорно пытаешься игнорировать. Можешь почитать при желании в доке "Oracle processes hierarchical queries as follows" если уж цель точно проанализировать where clause. согласен мне тяжело обяснятся "в последнюю очередь" в контексте вопроса озорнички where условия1 and условия2 and ... and rownum <=1 то-есть, сначала все условия (условия1, условия2, ...) и только потом (в последнюю очередь) rownum <=1 дословно Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. нет, rownum отработает последним ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:47 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
а меня всегда удивляло место where в запросе с connect by Код: plsql 1. 2. 3. 4. 5. почему WHERE выше, а не наоборот? я бы поменял местами Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:53 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
andreymxа меня всегда удивляло место where в запросе с connect by Код: plsql 1. 2. 3. 4. 5. почему WHERE выше, а не наоборот? я бы поменял местами Код: plsql 1. 2. 3. 4. 5. я про ето старался выше озвучить connect by и group by сгоряча под один дах сунул andreymx, что там у меня "с деревьями у тебя снова каша вышла" в чем я неправ? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:16 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
andreymxя бы поменял местамиДа, нет же. Лучше сделать и там и там. Если в where соединение, то пусть будет написано до, а если фильтр - то после. Вот это будет по феншую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:19 |
|
||
|
rownum
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopДа, такая конструкция вернет не более двух строк для каждого выполнения рекурсивного члена. Наследники не совсем корректно использовать. Какие-либо связи родитель-потомок могу отсутствовать. спасибо про отсутствовать, понятно вопрос снимаю, я неправильно понимал работу with ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:49 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39420205&tid=1886280]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 192ms |
| total: | 457ms |

| 0 / 0 |
