Questo sembra più difficile di quanto dovrebbe essere:Postgres Rails SELECT DISTINCT con l'Ordine
Voglio essere in grado di ordinare una tabella da esso è copy_count, quindi selezionare solo gli eventi con un titolo unico, e limitare tale query per la prima 99.
Event.order("copy_count DESC").select("DISTINCT ON (events.title) *").limit(99)
questo genera un errore:
ActiveRecord::StatementInvalid: PG::Error: ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
che suggeriscono ho bisogno di aggiungere il copy_count al DISTINCT ON, ma questo sarebbe anche solo tirare indietro unico registra copy_count WHI ch potrebbe essere lo stesso!
Nota: l'ordine per il conteggio delle copie DEVE verificarsi prima.
Grazie
Quindi, vuoi 99 'events.title' con il più alto 'copy_count' senza duplicato' events.title'? –
Che è corretto – jay