sql >> Database >  >> RDS >> Mysql

Aantal SQL uit samengevoegde tabel

Je left join s brengen tabellen binnen die meerdere overeenkomsten hebben voor een bepaalde id. De snelle en gemakkelijke manier om tellingen te corrigeren, is door count(distinct) . te gebruiken in plaats van 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;

Een alternatieve benadering is om de tabellen vóór de join samen te voegen, waarbij de tellingen in de subquery worden uitgevoerd.



  1. Is het veilig om gebruikersnamen en wachtwoorden in de database op te slaan?

  2. Hoe zorg je ervoor dat er geen gaten in auto_increment-nummers komen?

  3. Maak een aangepaste verzendmethode in OpenCart:deel twee

  4. Algemene instructies voor het bouwen en implementeren van databaseservers