sql >> Database >  >> RDS >> Mysql

Tel hoeveel er in een een-op-veel-relatie bestaan

Gebruik een afgeleide tabel als volgt:

SELECT ...
       TotalTasks --Add the count column to your select
FROM ticket t
JOIN (SELECT ticked_id, COUNT(1) as TotalTasks
      FROM tasks
      GROUP BY ticked_id) ta ON t.id = ta.ticked_id
...rest of query

Hier is je viool met de hele zoekopdracht

Het concept hier is om je aggregatie te doen op de veel tafel, alvorens terug te gaan naar de één tafel. Dit zorgt voor een 1-1 join en voorkomt ongewenste duplicatie het beste.



  1. Geheugenlek in JDBC4Connection

  2. Hoe de zorgsector databases gebruikt

  3. Alias ​​voor GROUP BY-clausule?

  4. Hoe deze MySQL SELECT-query om te zetten in een DELETE-query?