優待や割引でお得に法人向けサービスを発注するなら ➡SBIバリュープレイス

SQLでCOUNT と CASE 式を使って条件に応じたデータのカウント方法

この記事では、SQL(Structured Query Language)でよく使用される `COUNT` と `CASE` 式を使って、条件に応じたデータのカウント方法を解説します。`COUNT` と `CASE` 式は、データ分析で非常に重要な機能です。これらをうまく使いこなすことで、効率的なデータ分析とレポーティングが可能となります。

目次

基本的なCOUNTの使用方法

`COUNT` 関数は、テーブル内の行数をカウントするために使用されます。基本的な使用法は以下の通りです。

SELECT COUNT(*)
FROM table_name;

特定の列でのCOUNT

特定の列に含まれるデータの数をカウントする場合もあります。

SELECT COUNT(column_name)
FROM table_name;

CASE式の基本

`CASE` 式は、条件によって異なる値を返すために使用されます。基本的な形式は以下のようになります。

SELECT CASE 
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE result3
END
FROM table_name;

COUNTとCASE式の組み合わせ

`COUNT` と `CASE` 式を組み合わせることで、条件に応じたデータのカウントが可能です。

複数条件でのデータカウント

例えば、`status` が ‘active’、’inactive’、’pending’ の3つの値を持つテーブルがあるとします。それぞれのステータスにいくつの行があるのかをカウントするSQLは以下のようになります。

SELECT 
    COUNT(CASE WHEN status = 'active' THEN 1 END) AS active_count,
    COUNT(CASE WHEN status = 'inactive' THEN 1 END) AS inactive_count,
    COUNT(CASE WHEN status = 'pending' THEN 1 END) AS pending_count
FROM table_name;

複数条件の例解説

status行数
active10
inactive5
pending3
テーブル内の各ステータスに対する行数

このSQLクエリは、各ステータスがテーブル内で何行あるかをカウントしています。’active’は10行、’inactive’は5行、’pending’は3行となります。

まとめ

SQLでの `COUNT` と `CASE` 式の使い方を理解することは、データ分析作業を効率化する鍵です。特に、`COUNT` と `CASE` 式を組み合わせることで、より複雑なデータ分析が可能になります。状況に応じて適切なクエリを作成するスキルは、データ分析の現場で非常に価値があります。

コメント

コメントする

目次