PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Връщане на групиран списък с поява с помощта на Rails и PostgreSQL

Вашият проблем:

За съжаление строгостта на Postgres нарушава тази заявка, защото изисква всички полета да бъдат посочени в групата по клауза.

Сега това се промени донякъде с PostgreSQL 9.1 (цитирайки бележките към версията 9.1):

Разрешаване на не-GROUP BY колони в списъка с цели на заявката, когато първичният ключ е посочен в GROUP BY клауза (Peter Eisentraut)

Нещо повече, основната заявка, която описвате, дори няма да се натъкне на това:

Показване на списък с 5-те най-често използвани маркера, заедно с времето, когато са били маркирани.

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

Работи във всеки случай.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да предотвратя Postgres да вмъква подзаявка?

  2. Одит на PostgreSQL с помощта на pgAudit

  3. Fluent NHibernate и PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:Посоченият метод не се поддържа

  4. Миграция на Rails:Bigint на PostgreSQL изглежда се проваля?

  5. Генериране на данни и качество на хардуера