Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Liczba SQL z połączonej tabeli

Twoje left join s wprowadzają tabele, które mają wiele dopasowań dla danego identyfikatora. Szybkim i łatwym sposobem na naprawienie liczby jest użycie count(distinct) zamiast count() :

SELECT l.id, l.naam, beschrijving,
       count(distinct c.lijst_id) as aantal_cat, count(distinct wl.lijst_id) as aantal_lijst
FROM lijsten l
LEFT JOIN werknemerlijsten wl ON l.id = wl.lijst_id
LEFT JOIN categorieen c ON l.id = c.lijst_id
GROUP BY l.naam
ORDER BY naam;

Alternatywnym podejściem jest agregowanie tabel przed połączeniem, zliczanie w podzapytaniu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwersja tabeli z MyISAM do INNODB

  2. Jak zdefiniować obsługę wartości null w sortowaniach Spring Data JPA?

  3. Przywróć strukturę tabeli z plików frm i ibd

  4. Połącz się z bazą danych MySQL online z localhost

  5. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Błąd łącza komunikacyjnego