Oracleは複数のグループ条件をどのように統計しますか?
Oracleでは、データをグループ化するためにGROUP BY句を使用し、グループ化されたデータをフィルタリングするためにHAVING句を使用することができます。複数のグループ条件を使用して統計を行う一般的な手順は以下の通りです。
- SELECT文を使用して、統計する列を選択し、COUNT、SUM、AVGなどの集計関数を使用してデータを集計します。
- クエリ内で検索するテーブルを指定するFROM句。
- GROUP BY句で、グループ化する列を指定します。複数の列をカンマで区切って指定することができます。
- HAVING句でフィルタ条件を指定します。グループ化されたデータに集計関数を使用してフィルタリングできます。
以下は例として、異なる部門の従業員数と平均給与が表にまとめられています。
SELECT department, COUNT(*) AS employee_count, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING COUNT(*) > 5 AND AVG(salary) > 5000;
このクエリでは、部署ごとに従業員をグループ化し、各部署の従業員数と平均給与を計算します。その後、HAVING句を使用して、従業員数が5人以上かつ平均給与が5000以上の部署をフィルタリングします。