【发布时间】:2014-05-13 17:10:01
【问题描述】:
所以现在,我有帖子和作者...我想在我的网站上创建一个“20 最近的帖子”部分。
有时作者会连续发 4-5 篇文章。在最新的 20 篇文章中,我希望所有这些文章都有独特的作者。所以如果作者 A 基于 created_at 写了最后 3 个帖子,我只想要最后一个帖子。
假设:
A 写了帖子 10, 9, 7 B 写了帖子 8, 6 C 写了帖子 5, 1 D 写了帖子 4、3、2
然后在最新的 4 个帖子部分,我想要帖子:10、8、7、6
或者以任何其他方式,作者 ID 是唯一的,并且我有 20 篇最新帖子。
我在这里和那里尝试过 Post.select(:author_id).distinct、mapping 和其他位,但我不确定我的方向是否正确。
谢谢大家。
【问题讨论】:
-
如果我错了,请纠正我,你想要最后 20 个帖子,没有同一作者的两个后续帖子,对吧?
-
是的。甚至不必是两个后续帖子,或类似的东西。我提供的是一个假设的情况。实际上,一个作者有时可以连续发布 100-200 个帖子,而且他们往往会占据网站的整个“最近帖子”部分
标签: sql ruby-on-rails ruby database activerecord