我有一個地方uniq
已呼籲樣的關係:Rails:我如何查看uniq電話?
rel = Car.where(brand: 'Audi').order(:price).uniq
現在我想unscope的uniq
(不同)的一部分,所以我可以做:
rel.limit(30).pluck(:id)
因爲這會給我錯誤如下:
ActiveRecord::StatementInvalid: PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
這是由於查詢調用:SELECT DISTINCT(id) FROM cars WHERE brand = 'Audi' ORDER BY price
我想要它要做:SELECT id FROM cars WHERE brand = 'Audi' ORDER BY price
- 但我不知道如何取消只DISTINCT
部分?
是什麼'uniq'的用途在這裏?爲什麼你的查詢在沒有'uniq'的情況下返回相同的'id'? – AbM
該關係是基於大量搜索條件動態創建/作用域的,並傳遞給此代碼段,該代碼段只需摘取匹配搜索結果的前30個ID –