見出し画像

【SQL】各ユーザの案件実績数を年ごとに集計する

こんにちは。
少し前まではデータを表示するダッシュボードの作成が多かったのですが、最近は少し分析的要素も増えて集計をすることが増えてきました。

本日は、登録ユーザさんの年別の案件実績数を一覧として出しました。実績が多い方達には日々頭が下がる思いです。感謝。

作成したクエリ

SELECT DATE_FORMAT(executed_at, '%Y') as `Year`
, user_id
, COUNT(id) as COUNT
FROM user_action
GROUP BY `Year`, user_id

executed_at: 実行日。YYYYMMDD形式。
user_id: 登録ユーザのID
id: 案件ごとのID

説明

user_actionテーブルには、案件ごとにIDが振られているます。IDをuserごとに集計すると累積案件実績数が出せます。クエリで表すと次の通り:

SELECT user_id
, COUNT(id) as COUNT
FROM user_action
GROUP user_id

ここに

DATE_FORMAT(executed_at, '%Y') as `Year`

と実施年もグルーピングすることで、実施年度ごとの集計になります。


※テーブル名や項目名は加工して汎用的にしています。

いいなと思ったら応援しよう!