PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Znajdź wszystkich współautorów — Faceting/Grouping dla wielu do wielu tabeli mapowania

Spróbuj tego:

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

Pokaz tutaj

Możesz alternatywnie użyć 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"

Pokaz tutaj



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doctrine - Dodaj domyślny znacznik czasu do jednostki, takiej jak NOW()

  2. PostgreSQL:WYBIERZ GDZIE ma mniej niż 15 minut

  3. Połączenie wewnętrzne z SqlAlchemy

  4. różnice w sortowaniu postgres. osx v ubuntu

  5. Jak usunąć wiele wierszy z często używanej tabeli