我希望获得我在数据库中拥有的所有独特电子邮件的列表,并使用 plot(h, labels = titles, sub = "")
Error in graphics:::plotHclust(n1, merge, height, order(x$order), hang, :
invalid dendrogram input
批量处理它们。
以下代码可以正常工作,直到它有超过1000条记录(批量大小)要处理。然后它在第1000条记录之后断开,并显示错误消息find_each
Primary key not included in the custom select clause
那么,我怎样才能将所有这些链接起来:
答案 0 :(得分:1)
您必须使用循环limit
和offset
batch_size = 1000
offset = 0
loop do
emails = Tourist.where("DATE(created_at) = ?", Date.today-1).select('DISTINCT email').limit(batch_size).offset(offset)
emails.each do |email|
# your stuff
end
break if emails.size < batch_size
offset += batch_size
end
当然,只有在请求将检索大量电子邮件时才需要这样做。否则,只需使用Tourist.where(condition).pluck('DISTINCT email').each { |email| your stuff }