|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
Всем привет, Данный запрос выдаёт ошибку. SELECT AVG(MAX(salary)) FROM employees GROUP BY first_name HAVING AVG(MAX(salary))>50; Но разве две групповые функции не могут быть вложены? Проблема в предложение Having, но я не могу уловить в чём именно проблема. Так как если убрать предложение Having, то запрос работает. В то же время я не раз видел вложенные групповые функции в предложении Having. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 17:28 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
А как Вы представляете себе порядок работы и результат такого выражения? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 17:49 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
andrey_anonymous, Я новичок и наверное что то не совсем понимаю. Мне кажется что такой запрос должен работать так: SELECT AVG(MAX(salary)) - вычисляет среднюю от максимальной зарплаты. Например максимальная зарплата 10 000 его средняя тоже 10 000. Естественно пример так себе и далёк от реалий, но суть не в этом, а в том чтобы понять принцип работы запроса. FROM employees - вышеуказанная средняя от максимальной зарплаты ищется в таблице employees GROUP BY first_name - далее, идёт группировка по именам сотрудников. Например John - 10 000 Boris - 10 000 Evgeniy - 10 000 HAVING AVG(MAX(salary))>50; - Далее из созданных групп идёт поиск по условию предложения Having и в данном случае выводятся все строки, если бы максимальная зарплата была бы 49, тогда ни одна строка не должна была быть выведена. Я так думаю. Если не прав, то прошу объяснить. Буду вам очень благодарен. Спасибо что откликнулись. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 17:59 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
endy я не раз видел вложенные групповые функции в предложении Having. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:01 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
Примененная Вами конструкция подобна следующему: Код: plsql 1. 2. 3. 4. 5. 6. 7.
и второй having avg тут воткнуть особо некуда, поскольку отсутствует второй group by - avg в select-list применяется ко всему результату подзапроса, это единственная неявная группа. Ваша запись - особая форма записи двойной группировки, по сути - синтаксический сахар, позволяющий не писать подзапрос в явном виде - и от того несколько ограниченная. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:16 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
andrey_anonymous, Вообще возможен ли вариант где в предложении having можно увидеть вложенную групповую функцию? Если не затруднит могли бы привести подобный пример. Спасибо за развернутый ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:20 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
-2-, Здравствуйте. Но ведь в вышеуказанным примере присутствуют и group by и having ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:21 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
endy в вышеуказанным примере присутствуют и group by и having ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:24 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
endy в предложении having можно увидеть вложенную групповую функцию? Мне подобное не встречалось и я не очень понимаю, зачем могло бы понадобиться ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:26 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
Еще уместно будет напомнить о разнице вычисления агрегатов с и без group by: Код: plsql 1. 2. 3. 4.
Т.е. avg(max(..)) приводит к интерпретации верхнего запроса без group by , и, следовательно, без having - но гарантированно дающей единственную строку, это бывает удобно: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2020, 18:51 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
andrey_anonymous endy в предложении having можно увидеть вложенную групповую функцию? Мне подобное не встречалось и я не очень понимаю, зачем могло бы понадобиться На практике возможно такое и не понадобится. Просто был тест такой, вот и решил узнать как это можно осуществить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 12:10 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
endy На практике возможно такое и не понадобится. Просто был тест такой, вот и решил узнать как это можно осуществить. на ветке появился новый тролль? или Вы сами не можете гуглить? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 14:29 |
|
Ошибка - group function is nested too deeply
|
|||
---|---|---|---|
#18+
alex-ls, Гугл не дал результатов. Я задал свой вопрос на форуме в надежде получить на него ответ. Если вам не интересно помогать или же по какой то причине вы считаете что мой вопрос не имеет место быть на данном форуме, то прошу вас пройти мимо. Я задаю свои вопросы вежливо и буду благодарен всем кто поможет. Если вас это беспокоит, то можете не смотреть мои вопросы или пытаться мне помогать. Спасибо за понимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 17:32 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1881323]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 160ms |
0 / 0 |