この記事の最終更新日: 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で特定の条件を満たすカラムを効率的に集計することができます。是非参考にしてみてください。
大阪のエンジニアが書いているブログ。
コメント