ウィンドウ関数とgroup byの違い

sql SQL

sql 

MySQLにおいて、ウィンドウ関数とグループ化の違いは次のとおりです。

ウィンドウ関数

ウィンドウ関数は、結果セット内の各行に対して計算を実行し、各行に対して1つの結果を返します。つまり、結果セット全体を集計し、その後に最終的な結果を取得します。

グループ化

グループ化は、指定された列に基づいてデータをグループ化し、各グループに対して集計を実行します。つまり、グループ内のデータを集計して、各グループの結果を返します。

つまり、ウィンドウ関数は結果セット内のすべての行に対して計算を実行し、結果を返すのに対して、グループ化は指定された列に基づいてグループを作成し、各グループに対して集計を実行して、結果を返します。

例:

以下は、ウィンドウ関数とグループ化の例です。

ウィンドウ関数の例:

SELECT employee_name, salary, RANK() OVER (ORDER BY salary DESC) as rank
FROM employees;

グループ化の例:

SELECT department, COUNT(*) as count, AVG(salary) as avg_salary
FROM employees
GROUP BY department;

コメント

タイトルとURLをコピーしました