这似乎比应该的更难:
我希望能够通过它的 copy_count 对表进行排序,然后仅选择具有唯一标题的事件,并将该查询限制为前 99 个。
Event.order("copy_count DESC").select("DISTINCT ON (events.title) *").limit(99)
这会引发错误:
ActiveRecord::StatementInvalid: PG::Error: ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
这表明我需要将 copy_count 添加到 DISTINCT ON,但这也只会拉回可能相同的唯一 copy_count 记录!
注意:copy_count 的顺序必须首先发生。
谢谢