MySQLで月別、日別、時間、曜日別にレコード数を集計する方法
会員登録数などを調べるときに、月別、日別、時間、曜日別の登録者数を調べたいってよくありますよね。
そこで今回は、MySQLでdatetime型のカラム(今回は「regist_time」としています)を使って月毎、日毎、時間、曜日毎にレコード数を集計をするSQLの紹介です。
■月毎
SELECT DATE_FORMAT(regist_time, '%Y-%m') as regist_time, COUNT(*) as count FROM users GROUP BY DATE_FORMAT(regist_time, '%Y%m');
■日毎
SELECT DATE_FORMAT(regist_time, '%Y-%m-%d') as regist_time, COUNT(*) as count FROM users GROUP BY DATE_FORMAT(regist_time, '%Y%m%d');
■時間毎
SELECT DATE_FORMAT(regist_time, '%H') as regist_time, COUNT(*) as count FROM users GROUP BY DATE_FORMAT(regist_time, '%H');
■曜日毎
SELECT DATE_FORMAT(regist_time, '%w') as regist_time, COUNT(*) as count FROM users GROUP BY DATE_FORMAT(regist_time, '%w');
※regist_timeは、曜日(0=Sunday..6=Saturday)となります。
簡単ですね。
■おすすめサービス
- EeSite – 誰でも簡単に1ページのウェブサイトがつくれる
- Eeplaylist – アーティスト名をいれるだけで自動的にプレイリストが作成される
- Eegraph - 美しいグラフが簡単に作成できる!グラフ作成サービス