sql >> Databasteknik >  >> RDS >> PostgreSQL

Returnera en grupperad lista med förekomster med Rails och PostgreSQL

Ditt problem:

Tyvärr bryter Postgres stränghet den frågan eftersom den kräver att alla fält specificeras i gruppen för klausul.

Nu har det förändrats något med PostgreSQL 9.1 (citerar release notes från 9.1):

Tillåt icke-GROUP BY kolumner i frågemållistan när primärnyckeln är specificerad i GROUP BY klausul (Peter Eisentraut)

Dessutom skulle den grundläggande frågan du beskriver inte ens stöta på detta:

Visa en lista över de 5 mest använda taggarna, tillsammans med de gånger de har taggats.

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

Fungerar i alla fall.




  1. Inkludera kolumnnamn i SQLite-frågeresultat

  2. Grunderna för tabelluttryck, del 1

  3. Dra och släpp i MS Access och villkorlig sortering

  4. MySQL EXP() Funktion – Returnera e höjt till makten x