SQLで特定の条件を満たすカラムを集計する方法 – WHERE句とCASE文の使い分け方

sql case where SQL
この記事は約2分で読めます。

この記事の最終更新日: 2023年2月21日

SQLでは、特定の条件を満たすカラムを集計する際、WHERE句とCASE文を使い分けることができます。WHERE句は、指定した条件に合致するカラムのみを集計するため、特定のIDや特定の条件を指定する際に適しています。一方、CASE文は、複雑な条件分岐を行いながら集計を行うことができます。

たとえば、特定のカラムのIDが2の場合を集計する場合、WHERE句を使うと以下のように記述できます。

特定のIdのみ集計

WEHRE

SELECT SUM(column_name)
FROM table_name
WHERE id = 2;

一方、同じ条件をCASE文を使って表現する場合は以下のようになります。

CASE文

SELECT SUM(CASE WHEN id = 2 THEN column_name ELSE 0 END)
FROM table_name;

特定のId以外集計

WHERE句

SELECT SUM(column_name)
FROM table_name
WHERE id <> 2;

同じ条件をCASE文を使って表現する場合は以下のようになります。

CASE文

SELECT SUM(CASE WHEN id <> 2 THEN column_name ELSE 0 END)
FROM table_name;

以上のように、WHERE句とCASE文を使い分けることで、SQLで特定の条件を満たすカラムを効率的に集計することができます。是非参考にしてみてください。

コメント

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