Günde bir boolean sütununun birikimli toplamını almaya çalışıyorum. #sum
'u kullanarak farklı yollar denedim ve #distinct
'u da baktım (Stack Overflow'taki başka mesajlara bakarak), ancak bu yöntemlerden birini, benim hash'ımın görünmesini istediğim şekilde başarıyla uygulayamadım.Günde bir boolean sütununun toplam bir miktarını sorgulama
Device.where(boxed: true).group('date(updated_at)').count
bana bu verir:
Şu anda, bu ben sorgusudur
{Fri, 17 Apr 2015=>48, Sat, 18 Apr 2015=>44, Sun, 19 Apr 2015=>5, Mon, 20 Apr 2015=>48}
Ama böyle bakmak istiyorum:
{Fri, 17 Apr 2015=>48, Sat, 18 Apr 2015=>92, Sun, 19 Apr 2015=>97, Mon, 20 Apr 2015=>145}
ben Rails 4 ve Postgres kullanıyorum. Herhangi bir yardım takdir edilecektir.
Düzenleme:
data_all_time = Device.where(boxed: true).group('date(updated_at)').count
data_all_time_keys = data_all_time.keys
data_all_time_values = data_all_time.values
sum = 0
data_all_time_values.map!{|x| sum += x}
all_time_sum_tuple = data_all_time_keys.zip(data_all_time_values)
ben gibi bir şey elde sonunda: Ben bu muhtemelen hiç iyi yolu ya da zarif olmasa da, kümülatif toplamı almak için bunu sona erdi
Bu, daha iyi bir yol anlayabilmem için şimdiye kadar hangisi işe yarıyordur?
[["April 17, 2015", 48], ["April 18, 2015", 92], ["April 19, 2015", 97], ["April 20, 2015", 145]]
Beetwen arasındaki fark 18 Nis 2015 => 44 ve 18 Nis 2015 => 92 örneğin? Bize Device Device – Tanorix
@tanorix'in somes verilerini gösterebilir misiniz? Bu fark 18 Nisan'da 44 kutuda kutulanmış, ancak toplamda 17 kutu ve 18 Nisan'a kadar toplamda 92 kutu kutulandırılmış. –
Böylece sayımların, sayım sayısı yerine toplamları çalıştırmasını mı istiyorsunuz? –