groupメソッドで月ごとの集計を取りたいのですが、他の年のレコードが混ぜってしまいます。
たとえば2018年12月の集計を取りたいのに、2017年12月や2019年12月のレコードが混ざってしまいます。
##環境
macOS High Sierra(バージョン10.13.6)
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17]
Rails 4.2.6
##試したこと
以下のような実装をしました。
ruby
1month_requests_count = Request.group("MONTH(created_at))").count
これでは他の年のレコードがまざってしまうので、
ruby
1month_requests_count = Request.group("CONCAT(YEAR(created_at), MONTH(created_at))").count
このようにして見ましたが、これだと
{"201810"=>142, "201811"=>165, "201812"=>107, "20186"=>110, "20187"=>112, "20188"=>101, "20189"=>104}
のように、6月よりも10月のほうが先にきてしまいます。
##求める結果
以下のように年ごと、月ごとのハッシュを順番に取得したいです。
{"20186"=>110, "20187"=>112, "20188"=>101, "20189"=>104"201810"=>142, "201811"=>165, "201812"=>107}
何かご教示いただけることがあれば、何卒よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー