PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trả về danh sách được nhóm lại với các lần xuất hiện bằng Rails và PostgreSQL

Vấn đề của bạn:

Rất tiếc, tính nghiêm ngặt của Postgres đã phá vỡ truy vấn đó vì nó yêu cầu tất cả các trường phải được chỉ định trong nhóm theo mệnh đề.

Bây giờ, điều đó đã thay đổi phần nào với PostgreSQL 9.1 (trích dẫn ghi chú phát hành của 9.1):

Cho phép không phải GROUP BY trong danh sách đích truy vấn khi khóa chính được chỉ định trong GROUP BY mệnh đề (Peter Eisentraut)

Hơn nữa, truy vấn cơ bản mà bạn mô tả thậm chí sẽ không gặp phải trường hợp này:

Hiển thị danh sách 5 thẻ được sử dụng phổ biến nhất, cùng với số lần chúng được gắn thẻ.

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

Hoạt động trong mọi trường hợp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn của một chuyên gia về sao chép Slony cho PostgreSQL

  2. Tôi đang chạy phiên bản PostgreSQL nào?

  3. Có cách nào để đặt thời gian hết hạn, sau đó mục nhập dữ liệu sẽ tự động bị xóa trong PostgreSQL không?

  4. Các cải tiến về báo cáo tiến độ trong PostgreSQL 12

  5. cách tốt để phân đoạn ngang trong postgresql là gì