Postというモデルがあり、
1時間あたりに何回投稿されたかを管理画面で見る機能を実装してます。
投稿日時(created_at)をもとに、何回投稿されたかを判断します。
gropなどで集計する方法を探しており、以下のような記事は見つかったのですが、
同じようにやっても上手く行きませんでした。
http://qiita.com/onody/items/0bf5e0749eccd04891b0
http://www.workabroad.jp/posts/2184
どなたかご教授いただけないでしょうか?
最終的に期待する形
時間 投稿回数
00時 30回
01時 20回
・
・
・
23時 2回
今回やっていたコード
Australia/Sydney
はTokyoにすべきなのかと思いますが、サンプルコードと同じくAustralia/Sydneyにしました。
Post.group("date_part('hour', timezone('Australia/Sydney', posts.created_at))").count (0.7ms) SELECT COUNT(*) AS count_all, date_part('hour', timezone('Australia/Sydney', posts.created_at)) AS date_part_hour_timezone_australia_sydney_posts_created_at FROM `posts` GROUP BY date_part('hour', timezone('Australia/Sydney', posts.created_at)) Mysql2::Error: FUNCTION hogehoge_development.date_part does not exist: SELECT COUNT(*) AS count_all, date_part('hour', timezone('Australia/Sydney', posts.created_at)) AS date_part_hour_timezone_australia_sydney_posts_created_at FROM `posts` GROUP BY date_part('hour', timezone('Australia/Sydney', posts.created_at)) ActiveRecord::StatementInvalid: Mysql2::Error: FUNCTION hogehoge_development.date_part does not exist: SELECT COUNT(*) AS count_all, date_part('hour', timezone('Australia/Sydney', posts.created_at)) AS date_part_hour_timezone_australia_sydney_posts_created_at FROM `posts` GROUP BY date_part('hour', timezone('Australia/Sydney', posts.created_at))
このエラー内容がよくわかりませんでした。
Mysql2::Error: FUNCTION hogehoge_development.date_part does not exist
サンプルコードに添って実装したつもりだったんですが・・・。