Oracle Master

グループ関数の注意点

投稿日:2009年8月8日 更新日:

MIN関数、MAX関数、AVG関数、SUM関数などのグループ関数では、NULL値は無視されますが、COUNT関数の場合、COUNT(*)と指定すると、NULL値もカウントされる。ただし、COUNT(列名)とすると、指定した列にあるNULL値は無視される。

 

グループ関数を使用している場合、SELECT句にあるグループ関数でない列は、必ずGROUP BYに指定する必要がある。

例:

SELECT job_type, AVG(salary) FROM emp_table GROUP BY job_type;

 

また、WHERE句にはグループ関数で条件を記載することができない。

エラーの例:

SELECT job_type, AVG(salary) FROM emp_table

WHERE AVG(salary) > 1000 GROUP BY job_type;

正しい例:

SELECT job_type, AVG(salary) FROM emp_table

HAVING AVG(salary) > 1000 GROUP BY job_type;

広告

広告

-Oracle Master


comment

関連記事

no image

算術演算でのNULL値

算術演算では、NULL値を演算するといかなる場合でも結果がNULLとなる。 例: 4 + NULL = NULL 4 * NULL = NULL 1 + 2 – NULL = NULL

no image

【Oracle】nmefwmi.exeは動作を停止しました

検証のためにWindows VistaにOracle Database 11g(11.1.0.6.0)をインストールしたが、「nmefwmi.exeは動作を停止しました」というエラーが5分置きに表示さ …

no image

WHERE句では列別名が使用できない

WHERE句では列別名が使用できない。列別名を使用できるのは、ORDER BY句のみです。 例: SELECT emp_id AS ID, emp_name AS NAME FROM emp_tabl …

no image

【Oracle Master】Oracle 11gのgって何?

Oracleの後に続く10g、11g。特に意識はしていませんでしたが、gって一体何なのでしょう? gはgridの略とされています。gridとは格子とか縦横の線、碁盤という意味があります。gridはグリ …

no image

索引を作成する条件

表に索引を作成すると、特定の列の検索処理の速度が向上する。しかし、データの挿入(INSERT)、更新(UPDATE)、削除(DELETE)では、索引のメンテナンスがバックグラウンドで発生するため、負荷 …

広告

転職