Avoir un utilisateur de table et il y a un champ invité_by_id montrant l'identifiant de la personne qui a invité cet utilisateur. Besoin de faire une requête MySQL retournant des lignes avec tous les champs des utilisateurs plus un champ invites_compte indiquant combien de personnes ont été invitées par chaque utilisateur. Quelque chose comme ceci:Comment créer une requête imbriquée?
SELECT
User.*, Count.count
FROM
users AS User,
(
SELECT COUNT(*) AS count FROM users WHERE users.invited_by_id=User.id
) AS Count;
Celui-ci ne fonctionne pas donc j'ai besoin un travail.
+1: Oui, sous-requête dans la liste des colonnes. Cela fonctionne certainement aussi. Bonne réponse. – Asaph
Cela gère également beaucoup plus facilement 'ORDER BY' et' LIMIT': n'évaluera pas la sous-requête tant qu'elle n'en aura pas vraiment besoin. – Quassnoi
@Quassnoi: Mais va-t-il évaluer la sous-requête une fois pour chaque ligne? Si tel est le cas, cela peut entraîner des problèmes de performance dans les cas où vous n'utilisez pas 'ORDER BY' et' LIMIT'. – Asaph