SQLでGROUP BYを使用したランキングクエリの作成方法

SQLは、データベースから情報を取得、挿入、更新、削除するための言語です。中でも集計処理は、ビジネスや分析において非常に重要な作業です。この記事では、SQLの`GROUP BY`を使用してランキングクエリを作成する方法を、具体的な例とともに解説します。

目次

GROUP BYとは

GROUP BY句は、SQLで行を特定の列に基づいてグループ化するために使用されます。これにより、集計関数(SUM、AVG、COUNTなど)をグループごとに適用することができます。

基本的なGROUP BYの使用方法

以下は、`sales`テーブルから「商品カテゴリ」ごとに「売上合計」を計算するSQLクエリの一例です。

SELECT category, SUM(sales_amount)
FROM sales
GROUP BY category;

ランキングクエリの作成

特定の条件に基づいてデータをランク付けする場合、`GROUP BY`とウィンドウ関数を組み合わせることでランキングクエリを作成できます。

基本的なランキングクエリの例

次に、`sales`テーブルから「商品カテゴリ」ごとに「売上合計」を計算し、それを基にランキングを行うSQLクエリの例を示します。

SELECT category, SUM(sales_amount),
RANK() OVER(ORDER BY SUM(sales_amount) DESC) as ranking
FROM sales
GROUP BY category;

サブクエリを使用したランキング

サブクエリを使用することで、更に複雑なランキングを生成することも可能です。

SELECT category, sales_total,
RANK() OVER(ORDER BY sales_total DESC) as ranking
FROM (
  SELECT category, SUM(sales_amount) as sales_total
  FROM sales
  GROUP BY category
) as sub;

実際のデータでの例

考えられる「商品カテゴリ」と「売上合計」、そして「ランキング」の一例を下記のテーブルで示します。

商品カテゴリ売上合計ランキング
食品50001
衣服40002
家電35003
商品カテゴリ別売上とランキング

まとめ

この記事では、SQLの`GROUP BY`を使用してランキングクエリを作成する方法について学びました。具体的には、基本的な`GROUP BY`の使用方法から、ウィンドウ関数を用いたランキングクエリ、サブクエリを使用した複雑なランキングの生成方法までを網羅しました。これらの知識が、より高度なデータ分析に役立つでしょう。

コメント

コメントする

目次