PHP & MYSQL環境を勉強中の管理人です。
日付単位でカウント数をまとめたい、と思っていた矢先に丁度良い関数を見つけました。
SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN GROUP BY DATE_FORMAT(COLUMN, '%Y%m');
この事例ですと月別の集計が可能なわけですが、私は少し戸惑いました。
上記例で示した「COLUMN」は実態はINT(8)でして、2013年10月14日であれば「20131014」となるのですが、文字列である必要はないんですね。最初はBETWEEN式で評価していたのですが、こちらも数値、文字列によるCOUNTの差異がありませんでした。
SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN BETWEEN 20130101 and 20131231
SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN BETWEEN "20130101" and "20131231"
C言語からスタートすると型って結構重要なんですけど…PHPもSQLもそうですが楽チンな半面、中でどう処理されているのか気になってしまいます。PARSERが優秀なのかしら?