データベースから情報を効率的に抽出し、分析するためには、適切なSQLクエリが不可欠です。ここでは、日常的なデータ集計作業で役立つ10のSQLクエリを紹介します。これらのクエリを使いこなすことで、データベース操作がスムーズになり、ビジネスインテリジェンスの向上に貢献できます。
1. 基本的な集計関数の使用
集計関数を使うことで、データの合計、平均、最大値、最小値などを簡単に取得できます。
SELECT SUM(column_name), AVG(column_name), MAX(column_name), MIN(column_name)
FROM table_name;
2. グループ化と集計
特定のカラムでデータをグループ化し、各グループごとの集計を行います。
SELECT category, COUNT(*), AVG(price)
FROM products
GROUP BY category;
3. 条件付き集計
条件に基づいて集計を行う場合は、CASE
文を使用します。
SELECT category,
SUM(CASE WHEN condition THEN value ELSE 0 END) AS condition_sum
FROM table_name
GROUP BY category;
4. 重複データの排除
特定のカラムの値が重複しているレコードを除外します。
SELECT DISTINCT column_name
FROM table_name;
5. サブクエリを使用した集計
サブクエリを使って、より複雑な集計を行います。
SELECT customer_id, (SELECT MAX(order_date)
FROM orders
WHERE customers.customer_id = orders.customer_id) AS last_order_date
FROM customers;
6. 結合を使った集計
複数のテーブルを結合し、集計を行います。
SELECT customers.customer_id, COUNT(orders.order_id) AS order_count
FROM customers
JOIN orders ON customers.customer_id = orders.customer_id
GROUP BY customers.customer_id;
7. ロールアップによる集計
ロールアップを使用すると、集計結果に小計や総計を含めることができます。
SELECT category, subcategory, SUM(sales)
FROM sales_data
GROUP BY ROLLUP(category, subcategory);
8. キューブによる多次元集計
キューブを使用して、多次元での集計を行います。
SELECT category, subcategory, region, SUM(sales)
FROM sales_data
GROUP BY CUBE(category, subcategory, region);
9. ランキング関数の使用
ランキング関数を使って、データを順位付けします。
SELECT employee_id, salary, RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;
10. ウィンドウ関数による集計
ウィンドウ関数を使って、特定のウィンドウ内での集計を行います。
SELECT employee_id, department_id, salary,
SUM(salary) OVER (PARTITION BY department_id ORDER BY salary) AS cumulative_salary
FROM employees;
コメント