我有一个空的Rails 4 应用程序,尝试执行以下操作:
Collection.order('created_at ASC').uniq.pluck :name
它在sqlite下可以正常工作,但在postgres中会出现以下错误:(0.9ms) SELECT DISTINCT "collections"."name" FROM "collections" ORDER BY created_at ASC
PG::Error: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ...collections"."name" FROM "collections" ORDER BY created_at...
这是一个Bug吗?还是有什么方法可以修复它?
:name
或任何其他属性。这就是我想要实现的。谢谢。 - randomor#uniq
会引起问题?我也尝试了 Rails3。看起来只有在与order
一起使用时,uniq
才会成为问题。最终我没有使用order
。但是这种行为仍然让我感到困惑,因为在 sqlite 中它显然可以工作。 - randomor