【发布时间】:2013-01-09 06:14:36
【问题描述】:
这似乎比应该做的更难:
我希望能够通过它的 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 排序。
谢谢
【问题讨论】:
-
那么,你想要 99 个
events.title最高的copy_count而没有重复的events.title?
标签: sql ruby-on-rails postgresql