|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
env Stax, Не один же раз разбирали уже почему так. про group by? я все-таки надеюсь что сделають по алиасу ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2020, 17:26 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Stax даж жаль что для group by пока что не сделали по position / alias ..... stax stax, я думаю это запрещено по той же причине, что и group by "alias". Почему запрещен груп по алиасу, я достоверно не знаю, думаю потому, что слишком легко зацепить агрегатную функцию. select count(*) as c from all_tables group by c ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2020, 17:41 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
можно веселые конструкции придумать ))) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2020, 18:04 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Весело у вас! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 07:20 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL Почему запрещен груп по алиасу Копать в сторону порядка выполнения элементов конструкции select и этапа на котором сформирован собственно select list. Оттуда вытекает сложность реализации подобной конструкции. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:21 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
env Копать в сторону копать не собираюсь имхо перед group by "все" уже сформировано, осталось сгруппировать большой разницы с order by не вижу конечно надо чутку попотеть над реализацией ps в древних версиях group by вызывал сортировку тоесть грубо ето order by + группировка ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:34 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Stax, group by выполняется до формирования select list, а отдельные агрегаты могут быть посчитаны ещё на этапе извлечения данных ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:40 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Stax, Стас, ты не путаешь SORT/HASH GROUP BY случаем с сортировкой итогового курсора? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:43 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
коллеги, о чём топик? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:53 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
andreymx, Как пропатчить KDE под FreeBSD, разумеется. А изначально о недопонимании разницы между позиционной нотацией и числовым выражением в order by. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 09:57 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Стас, Вот здесь позиционная/алиасная нотация на какой уровень группировки должна распространяться и почему именно на него? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 10:08 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
env Стас, Вот здесь позиционная/алиасная нотация на какой уровень группировки должна распространяться и почему именно на него? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
сдесь никак нет выражения которое напрягает меня повторять в group by но пример хороший t.subid явно нет в селект листе пример с алиасом Код: 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.
оно мне и не надо, но иногда доставало ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 11:11 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
andreymx коллеги, о чём топик? о мечтах (пожеланиях) к оракле ком + поднять процент занятости на работе ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 11:18 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Stax имхо перед group by "все" уже сформировано, осталось сгруппировать большой разницы с order by не вижу > "все" уже сформировано - кроме значения агрегатных функций (там они будут, иначе хватает distinct вместо group) Если позволить ссылку по алиасу, можно легко создать круговую зависимость, и труднее написать текст ошибки. "group by ссылается на алиас, содержащий агрегатные функции, не делайте этого" select count(val) as cnt from tst group by cnt Я на это ссылался, когда говорил "чтоб не зацепить агрегатную функцию". Вот я только не уверен, ссылка в group by на любую агрегатную функцию создает круговую зависимость, или бывают случаи когда это можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 16:38 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL ссылка в group by на любую агрегатную функцию Что этим хотели сказать-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 16:43 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
Использование агрегатных функций в конструкции group by запрещено в явном виде и выдаст ошибку --ORA-00934: групповая функция здесь не разрешена поэтому о круговых зависимостях речи не идёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 16:53 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL Вот я только не уверен, ссылка в group by на любую агрегатную функцию создает круговую зависимость, или бывают случаи когда это можно? Похоже, что исключений нет; в 11.2 ошибка происходит на стадии лексического разбора: select count(2*2) from dual where count(2*2) < 0 -- нельзя, хоть и тавтология select count(2*2) from dual having count(2*2) < 0 -- можно ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 20:30 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL Похоже, что исключений нет; в 11.2 ошибка происходит на стадии лексического разбора: select count(2*2) from dual where count(2*2) < 0 -- нельзя, хоть и тавтология select count(2*2) from dual having count(2*2) < 0 -- можно Что ты хотел продемонстрировать этим примером? И что ты ожидал, что ошибки не будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 21:29 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
graycode НеофитSQL Похоже, что исключений нет; в 11.2 ошибка происходит на стадии лексического разбора: select count(2*2) from dual where count(2*2) < 0 -- нельзя, хоть и тавтология select count(2*2) from dual having count(2*2) < 0 -- можно Что ты хотел продемонстрировать этим примером? И что ты ожидал, что ошибки не будет? Я хотел посмотреть, как мой Оракл 11.2 обрабатывает подобные выражения: 1) лексически (отказывается принимать агрегатные функции в неположеном месте) или 2) логически (обнаруживает круговую логику в процессе построения плана) Из пары примеров что я попробовал, это скорее первое чем второе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 22:18 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL, Где ты увидел круговую логику в приведенном тобой примере? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2020, 23:14 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
graycode НеофитSQL, Где ты увидел круговую логику в приведенном тобой примере? В приведенном мной примере намеренно отсутствует круговая логика, поэтому я его и выбрал для проверки своей гипотезы. Если бы я использовал пример с круговой логикой, например select count(val) from table group by count(val), то это бы не ответило на мой вопрос. Если вы читали по диагонали или были заняты и потеряли нить рассуждения, она довольно простая: 1. Вопрос был: есть ли исключения, когда использование агрегатных функций разрешено в GROUP BY? 2. Для поиска исключений я ограничился выражениями которые не содержат круговую логику (т.е вычисляемы). 3. Из десятка разных очевидно вычисляемых выражений, все были отвергнуты Ораклом 11.2 4. Я сделал вывод что оракл запрещает такие выражения на основании лексики, а не проблем с обработкой. 5. Рассказал про свое умозаключение 6. получил вопрос от вас, где круговая логика в моем примере. 7. сейчас обращаю ваше внимание на п.2 как ответ, и пп 1-4 для контекста. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2020, 00:15 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL Если вы читали по диагонали Если бы ты читал документацию и книги не по диагонали, мы бы не созерцали этот поток бреда. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2020, 00:33 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL, Настоятельно рекомендую найти и почитать в каком порядке выполняются элементы конструкции select. Высвободит много вашего времени на решение реальных задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2020, 09:36 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
env НеофитSQL, Настоятельно рекомендую найти и почитать в каком порядке выполняются элементы конструкции select. Высвободит много вашего времени на решение реальных задач. > в каком порядке выполняются элементы конструкции select Тут или неудачный выбор слов, или коренное непонимание декларативной природы SQL. Если второе, то вам поможет книжка по теории множеств. Начните здесь: https://habr.com/ru/post/457312/ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2020, 20:35 |
|
Не смог нагуглить, что такое ORDER BY '0' или ORDER BY '1'
|
|||
---|---|---|---|
#18+
НеофитSQL Тут или неудачный выбор слов, или коренное непонимание декларативной природы SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2020, 20:42 |
|
|
start [/forum/topic.php?fid=52&msg=40006463&tid=1879590]: |
0ms |
get settings: |
28ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
504ms |
get tp. blocked users: |
2ms |
others: | 373ms |
total: | 1018ms |
0 / 0 |