0
我試圖找到一種方式來輸出給定的兩個日期之間的每一天的記錄數:計數記錄的值
from = 7.days.ago.to_date
to = Date.today
total = Records.where(created_at: from..to).group("date(created_at)").count
list = total.values
只是有問題的是,當一些日期沒有記錄,它不會被顯示,只會被忽略。
因此,不是這樣的:
list = [0,4,3,0,3,0,1]
我得到這個:
list = [4,3,3,1]
嗯,我想我理解,因爲查詢的記錄,而不是日期之後所有的,爲什麼我得到這樣也好,。
我可以做一個循環from.upto(to)
和each
一個do
查詢到數據庫,讓這些計數和建設,所以我的小名單 - 或別的東西很髒 - 但是,是不是有很多涉及到一個更乾淨的解決方案的查詢?
謝謝。它運作良好。就在我想要獲取值時,使用'values'方法,它將零重新排列到最後。我得到'[4,3,3,1,0,0,0]'而不是'[0,4,3,0,3,0,1]'。在做'價值'之前,訂單是正確的。 – pzin
如果您在獲取值之前對散列進行排序,該怎麼辦? '哈希[total.sort] .values' – usha
這很好。爲什麼'價值'奇怪的重新排序? – pzin