sql >> Database >  >> RDS >> PostgreSQL

Retourneer een gegroepeerde lijst met voorvallen met behulp van Rails en PostgreSQL

Uw probleem:

Helaas verbreekt de striktheid van Postgres die query omdat het vereist dat alle velden in de group by-clausule worden opgegeven.

Nu is dat enigszins veranderd met PostgreSQL 9.1 (met vermelding van release-opmerkingen van 9.1):

Niet-GROUP BY Allow toestaan kolommen in de zoekdoellijst wanneer de primaire sleutel is opgegeven in de GROUP BY clausule (Peter Eisentraut)

Bovendien zou de basisvraag die u beschrijft hier niet eens tegenaan lopen:

Toon een lijst van de 5 meest gebruikte tags, samen met de tijden waarop ze zijn getagd.

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

Werkt in ieder geval.




  1. Hoe het mysql root-wachtwoord opnieuw in te stellen?

  2. Islands T-SQL-uitdaging

  3. Queryresultaten exporteren naar een XML-bestand bij gebruik van SQLcl (Oracle)

  4. Hoe UNIX_TIMESTAMP() werkt in MariaDB