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

Tìm tất cả các đồng tác giả - Phân nhóm / Nhóm cho nhiều bảng ánh xạ

Hãy thử điều này:

SELECT "AuthorId", COUNT(*)
FROM BookAuthorMapping
WHERE "BookId" IN (SELECT "BookId" FROM BookAuthorMapping WHERE "AuthorId" = 1)
GROUP BY "AuthorId"

Demo tại đây

Ngoài ra, bạn có thể sử dụng INNER JOIN :

SELECT t1."AuthorId", COUNT(*)
FROM BookAuthorMapping AS t1
INNER JOIN BookAuthorMapping AS t2 ON t1."BookId" = t2."BookId" AND t2."AuthorId" = 1
GROUP BY t1."AuthorId"

Demo tại đây



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác minh kết nối cơ sở dữ liệu với pg-promise khi khởi động ứng dụng

  2. Cách sử dụng psycopg2 để truy xuất giá trị của một khóa nhất định từ bảng postgres có các cặp khóa-giá trị

  3. Làm cách nào để lấy tên múi giờ hiện tại trong Postgres 9.3?

  4. Danh sách trả về dữ liệu Spring <Đối tượng []>

  5. ClusterControl - Quản lý sao lưu nâng cao - PostgreSQL