質問: 日付毎の集計方法 下記のようなテーブル構成で、過去一週間の毎日について、登録した人の数を知りたいです。 ■テーブル名 my_table システムに登録すると,idが付与され,登録した日付が記録されます。 ---------------------------------------- id(intger) | reg_date(登録した日付,timestamp) ---------------------------------------- 以下のようなsqlを考えたのですが、timestampが「2005-12-01 00:00:00+09」という細かい日付になっているので、これでは「1日」毎の集計にはなりません。 この場合、どう表現すればよいでしょうか? select sum(reg_date) from my_table where ('now' - reg_date < '7days') group by reg_date order by reg_date
回答: reg_dateをdayでdate_truncしたフィールドをもつビューを作って、そいつをgroup byしたらどうでしょう。