1
我试图创建一个每天计数数组。我希望计数只能是独特的uid(每天不应该重置哪些uid是“独特的”)。Ruby循环创建一个DISTINCT计数数组
之前,我有:
@unique_count_array_by_day = []
15.times { |i|
bar = Model.select("DISTINCT(uid)").where(:created_at => (Time.now.beginning_of_day - i.days)..(Time.now.beginning_of_day - (i-1).days)).count()
@unique_count_array_by_day << bar
}
这不是给我不同的UID的整体,这是给我的唯一的UID的一天之内的计数。所以,我把代码中选择不同的UID的圈外:
@unique_count_array_by_day = []
foo = Model.select("DISTINCT(uid)")
15.times { |i|
bar = foo.where(:created_at => (Time.now.beginning_of_day - i.days)..(Time.now.beginning_of_day - (i-1).days)).count()
@unique_count_array_by_day << bar
}
然而,这仍然每天生产不同的UID,而不是不同的UID的计数在数据表中的第一次出现。
想法如何finagle?
”独特的uid的整体“是什么意思?你让我感到困惑,你想要什么,你会得到什么。你能举个例子吗? –
好的。假设有两条记录,两条记录都具有相同的“uid”。一条记录是从昨天开始的,第二条是从今天开始的。使用此代码,数组的输出将是[1,1]而不是[1,0](带有2倍循环)。它应该是[1,0],因为'uid'昨天截然不同,但它不是今天。 – Galen
哦,那么问题会更像是“如何获得以前从未见过的每日UID数”?由于你没有考虑前几天出现的uid,所以仅仅在15天之后看是不够的。 –