Điều này có vẻ khó hơn nó nên là:Postgres Rails Chọn biệt với thứ tự
Tôi muốn để có thể sắp xếp một bảng bằng cách đó là copy_count, sau đó chỉ chọn các sự kiện với một tiêu đề độc đáo, và hạn chế truy vấn để là người đầu tiên 99.
Event.order("copy_count DESC").select("DISTINCT ON (events.title) *").limit(99)
này ném một lỗi:
ActiveRecord::StatementInvalid: PG::Error: ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
những đề nghị tôi cần phải thêm copy_count đến ON DISTINCT, nhưng điều này cũng sẽ chỉ kéo trở lại độc đáo hồ sơ copy_count whi ch có thể giống nhau!
Lưu ý: thứ tự bởi copy_count PHẢI xảy ra trước tiên.
Cảm ơn
Vì vậy, bạn muốn 99 'events.title' có' copy_count' cao nhất mà không trùng lặp 'events.title'? –
Đó là chính xác – jay