PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Restituisce un elenco raggruppato con occorrenze utilizzando Rails e PostgreSQL

Il tuo problema:

Purtroppo il rigore di Postgres interrompe questa query perché richiede che tutti i campi siano specificati nella clausola group by.

Ora, questo è leggermente cambiato con PostgreSQL 9.1 (citando le note di rilascio della 9.1):

Consenti non GROUP BY colonne nell'elenco di destinazione della query quando la chiave primaria è specificata in GROUP BY clausola (Peter Eisentraut)

Inoltre, la query di base che descrivi non incontrerebbe nemmeno questo:

Mostra un elenco dei 5 tag più comunemente usati, insieme alle volte in cui sono stati taggati.

SELECT tag_id, count(*) AS times
FROM   taggings
GROUP  BY tag_id
ORDER  BY times DESC
LIMIT  5;

Funziona comunque.