PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Gibt eine gruppierte Liste mit Vorkommen mit Rails und PostgreSQL zurück

Ihr Problem:

Leider unterbricht die Strenge von Postgres diese Abfrage, da alle Felder in der group by-Klausel angegeben werden müssen.

Das hat sich nun mit PostgreSQL 9.1 etwas geändert (Zitat Versionshinweise von 9.1):

Nicht-GROUP BY zulassen Spalten in der Abfragezielliste, wenn der Primärschlüssel in GROUP BY angegeben ist Klausel (Peter Eisentraut)

Darüber hinaus würde die von Ihnen beschriebene grundlegende Abfrage nicht einmal auf Folgendes stoßen:

Zeigen Sie eine Liste der 5 am häufigsten verwendeten Tags zusammen mit den Zeiten, zu denen sie markiert wurden.

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

Funktioniert auf jeden Fall.