現在簡単な集計アプリを作成しています。
特定のモデルから曜日ごとに合計した数値を算出したいのですが特定の曜日に値が入っていない場合も考慮して抽出したいのですがPostqreSQLについては下記サイトに書いてありますが、MySQLの場合のやり方が全然わかりません(m_ m)
また下記サイトのようなやり方をMySQLでできるならば参考になりそうなサイトを教えていただけると大変助かります。
わかる方がいらっしゃれば教えていただきますようよろしくお願いいたします(m _m)
###期待する動作
- 特定の期間(1週間)の曜日ごとの集計を抽出したい
- 曜日の抽出結果がnullの場合は0にしたい
###動作環境
Ruby:2.3.5
Ruby on Rails: 4.2.5
MySQL: 5.7.18
###参考サイト
PostgreSQLで曜日ごと・時間帯ごとにレコードを抽出する
###該当のソースコード
db/schema.rb
ruby
1 create_table "favoriteitems", force: :cascade do |t| 2 t.integer "quantity", limit: 4 3 t.integer "item_id", limit: 4 4 t.integer "total_price" 5 t.integer "user_id", limit: 4 6 t.datetime "created_at" 7 t.datetime "updated_at" 8 end
app/controllers/favoriteitems_controller.rb
ruby
1 def index 2 @dow = ["土", "日", "月", "火", "水", "木", "金"] 3 today = Time.current 4 # 検索レコードの指定 5 @favoriteitems = Favoriteitem.where('created_at >= ?', today.beginning_of_year - 6.month) 6 # 先週の土曜日から今週の金曜日までの合計結果を曜日ごとに抽出したい 7 @dow.each_with_index do |dow, i| 8 @count_by_dow = @favoriteitems.where("extract(@dow from created_at AT TIME ZONE 'UTC' AT TIME ZONE 'JST') = ?", i).count 9 end 10 11 end
app/views/favoriteitems/index.html.erb
html
1<%= @count_by_dow.each_with_index do |day, i| %> 2<!--全くわからない--> 3<% end %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。