SQL

SQLでグループごとに条件を指定してカウントする方法

やりたいことは以下のとおりです。ジョブのログを管理するテーブルから、ジョブ名ごとに各ログレベル(CRITICAL, ERROR, WARN)のカウントを集計する方法をメモしておきます。

GROUP BYCASESUMを使う

先にSQLを載せておきます。

まずは、GROUP BYでジョブ名ごとにグルーピングします。続いて、CASE式を使って各ログレベルが存在するかどうかの条件を設定し、SUMで各ログレベルの数をカウントしています。

まとめ

SQLでグループごとに条件を指定してカウントする方法でした。GROUP BYCASESUMを使えばOKです。


-SQL

© 2020 Reasonable Code