J'ai deux tables, utilisateurs et classes. J'ai besoin de montrer le nombre de classes de chaque utilisateur avec l'ID d'utilisateur et je dois montrer ces utilisateurs aussi bien ... sans classes. comment le faire ..Requête DB simple
Répondre
SELECT Users.id, Users.username, COUNT(*) AS classes
FROM Users
LEFT OUTER JOIN Classes ON User.fk_class_id = Classes.id
GROUP BY Users.id, Users.username
Je pense qu'un sous-ensemble est probablement le moyen le plus facile d'y parvenir.
SELECT U.id, numClasses = (SELECT COUNT(1) FROM classes WHERE userID = U.id)
FROM Users U
Il est équivalent à la gauche de la réponse de Dex, bien que Dex est plus susceptible d'être efficace en fonction de l'optimiseur –
Vous avez raison, je n'ai pas suivi la logique de la jointure externe gauche retournant les lignes multiples à compter, erreur de débutant sur mon partie. Pour une raison quelconque, je pensais que cela retournerait les utilisateurs par classe, ce qui ne sera pas le cas. – staticbeast
select a.user_name, a.user_id, count(b.class_name)
from user as a
left join class as b
on a.class_id = b.id
- 1. Fonction de requête db simple
- 2. Requête pour obtenir la valeur des attributs en simple db
- 3. Exécuter requête sur chaque DB
- 4. DB explication de requête
- 5. Requête django db à chaque requête
- 6. Formatage de requête Oracle DB
- 7. Aide avec une requête DB
- 8. .NET DB requête sans allocations?
- 9. Tableaux PHP - requête simple
- 10. Requête ASP simple Question
- 11. Requête LINQ simple
- 12. requête simple SELECT échoue
- 13. Optimisation simple requête
- 14. requête LINQ simple
- 15. Subsonic - requête simple
- 16. simple requête SQL
- 17. simple requête SQL
- 18. SQL requête simple
- 19. TSQL Aide requête simple
- 20. requête simple LINQ
- 21. requête simple récursive
- 22. aide requête simple
- 23. requête SQL (Simple)
- 24. aide simple requête LINQ
- 25. Requête SQL (peut-être simple)
- 26. comment faire une simple requête SQL à partir de VB.net (accès db)
- 27. convertir une requête simple en requête gâteau?
- 28. EXEC (requête) AT linkedServer avec Oracle DB
- 29. Requête Db à partir d'une requête Linq - C#
- 30. simple requête dynamique LINQ question
regroupement par class.id renverrait une erreur sur la plupart des bases de données, car users.username était pas dans le groupe par et étant sans fonction d'agrégation –
merci .. .. .. –