前提・実現したいこと
データの登録年月が格納されているカラム(created_at)に対して、特定の年月(yyyymm)のデータの数を取得したいのですが、条件に指定する年月の記載方法が分からず、質問させて頂ました。
※データの数を取得する目的としては年月ごとにデータにシーケンス番号を振りたいためです。(※データの数を取得し、それに1をプラスしていく処理)
該当のソースコード
Ruby
1[9] pry(main)> GyomuDatum.group(:created_at).count 2 (1.2ms) SELECT COUNT(*) AS count_all, `gyomu_data`.`created_at` AS gyomu_data_created_at FROM `gyomu_data` GROUP BY `gyomu_data`.`created_at` 3=> {Thu, 31 May 2018 17:40:14 JST +09:00=>23, 4 Wed, 13 Jun 2018 17:13:32 JST +09:00=>1, 5 Wed, 13 Jun 2018 17:15:51 JST +09:00=>1, 6 Wed, 13 Jun 2018 17:21:08 JST +09:00=>1, 7 Wed, 13 Jun 2018 17:21:33 JST +09:00=>1, 8 Wed, 13 Jun 2018 17:22:26 JST +09:00=>1, 9 Wed, 13 Jun 2018 17:22:55 JST +09:00=>1, 10 Wed, 13 Jun 2018 17:29:02 JST +09:00=>1, 11 Wed, 13 Jun 2018 17:29:31 JST +09:00=>1, 12 Wed, 13 Jun 2018 17:32:11 JST +09:00=>1, 13 Wed, 13 Jun 2018 17:37:31 JST +09:00=>1, 14 Wed, 13 Jun 2018 18:00:54 JST +09:00=>1, 15 Wed, 13 Jun 2018 19:01:49 JST +09:00=>1, 16 Wed, 13 Jun 2018 19:03:21 JST +09:00=>1, 17 Thu, 14 Jun 2018 10:34:56 JST +09:00=>1} 18[12] pry(main)> GyomuDatum.where(created_at: 201806*).count 19SyntaxError: unexpected ')' 20GyomuDatum.where(created_at: 201806*).count
補足情報(FW/ツールのバージョンなど)
・Rails
Rails 4.2.10
・Mysql
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
group_by にブロックを渡す方法(strftime などを利用する)でできそうですか? : https://stackoverflow.com/questions/12526161/group-records-by-both-month-and-year-in-rails
回答1件
あなたの回答
tips
プレビュー