データ集計用SQL10選!!!

SQL

データベースから情報を効率的に抽出し、分析するためには、適切な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;

コメント

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