日付ごとのアクセス数をカウントするSQL

2009.03.01 / mysql

CakePHPなんかでcreatedにdatetimeの日付フィールド入れたログ用テーブル作って、あとから日付ごとにカウントした結果を表示してExcelとかでグラフつくりたいとき、なんてケースはよくあるかと思いますが、毎回このSQL忘れて面倒なことを考えがちなのでメモっておきます。

  SELECT date(created), count(*)  FROM access_logs group by date(created);
  

同一日かどうかの判定して、、とかつい無駄なことを連想しがち(な自分)。date関数でgroup byするのが一番楽ですよね。僕はMySQL Query Browserでこの結果をCSVで書き出してExcelにペースト>グラフ作成とかよくやってます。

あと、グラフをFlashで自動生成なんかもできるんですけど、その話はまた別途したいと思います。