演習課題「日次アクセス数を求める」
右側のコードエリアのSQLは、サンプルデータベースのeventlogテーブルで、日時とlogIDを表示します。COUNT関数とGROUP BYを追加して、日次のアクセス数を表示させてください。
コードを実行して、エラーが出なければ、演習課題クリアです!
入力される値
データベースに格納されているデータは、本レッスンのチャプター01を参照してください。
期待する出力値
DATE(startTime) | COUNT(logID) |
---|---|
2015-02-01 | 22 |
2015-02-02 | 17 |
2015-02-03 | 5 |
2015-02-09 | 23 |
2015-02-10 | 3 |
2015-02-11 | 31 |
2015-02-12 | 19 |
2015-02-13 | 4 |
2015-02-15 | 5 |
2015-02-17 | 18 |
2015-02-19 | 23 |
2015-02-20 | 3 |
2015-02-21 | 7 |
2015-02-22 | 8 |
2015-03-01 | 48 |
2015-03-02 | 41 |
2015-03-03 | 8 |
2015-03-09 | 46 |
2015-03-10 | 6 |
2015-03-11 | 62 |
2015-03-12 | 38 |
2015-03-13 | 8 |
2015-03-15 | 5 |
2015-03-19 | 46 |
2015-03-20 | 9 |
2015-03-21 | 11 |
2015-03-22 | 11 |
2015-04-01 | 44 |
2015-04-02 | 34 |
2015-04-03 | 10 |
2015-04-09 | 46 |
2015-04-10 | 6 |
2015-04-11 | 62 |
2015-04-12 | 38 |
2015-04-13 | 8 |
2015-04-15 | 10 |
2015-04-19 | 40 |
演習課題「日次アクセス数を7日分求める」
右側のコードエリアのSQLは、サンプルデータベースのeventlogテーブルで、日次アクセス数を表示します。ここに、WHEREを追加して、3月の最初の7日間('2015-03-01'から'2015-03-07'の期間)の日次アクセス数を表示させてください。
コードを実行して、エラーが出なければ、演習課題クリアです!
入力される値
データベースに格納されているデータは、本レッスンのチャプター01を参照してください。
期待する出力値
DATE(startTime) | COUNT(logID) |
---|---|
2015-03-01 | 48 |
2015-03-02 | 41 |
2015-03-03 | 8 |
演習課題「月次アクセス数を求める」
右側のコードエリアのSQLは、サンプルデータベースのeventlogテーブルで、日時とlogIDを表示します。COUNT関数とGROUP BYを追加して、月次のアクセス数を表示させてください。
日時を年月に変換するには、「GROUP BY DATE_FORMAT(startTime, '%Y-%m')」を使います。
コードを実行して、エラーが出なければ、演習課題クリアです!
入力される値
データベースに格納されているデータは、本レッスンのチャプター01を参照してください。
期待する出力値
DATE_FORMAT(startTime, '%Y-%m') | COUNT(logID) |
---|---|
2015-02 | 188 |
2015-03 | 339 |
2015-04 | 298 |
#03:ログ解析してみよう
ここでは、SQLを使ったログ解析にチャレンジしてみたいと思います。題材として、データベースに格納された、オンラインRPGの行動ログを取り上げて、日次と月次のアクセス数を調べます。
-- 日次のアクセス数を求める
SELECT DATE(startTime), COUNT(logID)
FROM eventlog
GROUP BY DATE(startTime);
-- 日次のアクセス数を求める
SELECT DATE(startTime), COUNT(logID)
FROM eventlog
WHERE DATE(startTime) BETWEEN "2015-04-01" AND "2015-04-30"
GROUP BY DATE(startTime);
-- 月次のアクセス数を求める
SELECT DATE_FORMAT(startTime, '%Y-%m'), COUNT(logID)
FROM eventlog
GROUP BY DATE_FORMAT(startTime, '%Y-%m');
MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数
https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html