データベースのグループ化および並び替え方法は何ですか?
データベースのグループ化ソート方法には、フィールドでのグループ化ソートと算術式でのグループ化ソートの2種類があります。
- 指定されたフィールドで結果セットをグループ化および並べ替えする:GROUP BY句を使用して、結果セットを指定されたフィールドでグループ化し、ORDER BY句を使用してそれぞれのグループを並べ替えることができます。 例えば、次の例では、部署ごとに従業員テーブルをグループ化し、各部署の従業員を給与の降順で並べ替えます。
SELECT department, MAX(salary) AS max_salary
FROM employees
GROUP BY department
ORDER BY max_salary DESC;
- 計算式によるグループ化と並べ替え:計算式に基づいて結果セットをグループ化し、ORDER BY句を使って各グループを並べ替えることができます。計算式は、フィールド間の演算や関数の呼び出しなどが含まれます。例えば、従業員の入社年を奇数と偶数でグループ化し、各グループの従業員数でソートする場合があります。
SELECT CASE WHEN (YEAR(hire_date) % 2) = 0 THEN 'Even' ELSE 'Odd' END AS hire_year_group,
COUNT(*) AS employee_count
FROM employees
GROUP BY hire_year_group
ORDER BY employee_count DESC;
どの方法を使用しても、グループ化ソートは、GROUP BY句で結果をグループ化し、その後、ORDER BY句で各グループを並べ替え、指定されたフィールドや計算式でグループ化ソートされた結果を取得できます。