tips chips

日々の作業で出てきた技術メモの切れ端を置いておくページ

条件に合ったレコードを数え上げるSQL

条件に合致するレコード数を1行で出したいみたいな時に使える。

条件に合致するレコード数を1行にまとめて出したい、みたいな時が時々ある。自分の場合はBIツールでビジュアライズする場合など。

そういう時に使えるやつ。

SELECT SUM(CASE WHEN status = 'published' THEN 1 ELSE 0 END) as published_post_count, SUM(CASE WHEN status = 'deleted' THEN 1 ELSE 0 END) as deleted_post_count FROM posts
実際のどこかのテーブルではないのでご安心ください

的な感じ。

条件に合致するレコードの時1、そうでない時0を返す式をsum関数に入れることで数えられる。