トップページ >  Oracle SQL >  グループ関数のネスト制限
初版2006/08/09: 最終更新日2006/08/09
  グループ関数のネスト制限
目次
グループ関数のネスト制限
グループ関数のネスト制限
グループ関数はネストすることが出来ます。

SELECT count(*)
FROM   employee;

但し、ネストにはいくつか制限があります。
普通上記SQLのようにグループ関数を指定してもgroup by句を指定する必要はありません。
しかし、グループ関数をネストする場合は、group by句で列指定する必要があります。列はselect句に指定している列でなくてもかまいません。
下図を見てください。

select   max(count(emp_id))
from     employee
group by dept_cd;

max関数の中でcount関数を指定していますがgroup by句を指定しているため、エラーは起きません。
ただ、ネストできるのは二つまでで、三つ以上のネストを実行すると 「ORA-000935:グループ関数のネスト・レベルが深すぎます。」 というエラーが返ってきます。