Est-ce que j'utilise la bonne méthode de connexion ici ? Essayer de comprendre où se situe le problème dans le code. Essayez de changer les jointures intérieures, extérieures et droites, juste pour l'essayer.
SELECT users.region, count(internal_profile_views.user_id) from users Left JOIN internal_profile_views ON users.id = internal_profile_views.user_id AND users.id = internal_profile_views.viewed_user_id GROUP BY users.region;
Structure du tableau : https://i.stack.imgur.com/nFUZO.jpg
Le résultat que j'obtiens :
Ouest 0 Nord-est 0 Sud 0 Autres 0 Midwest 0
Selon votre schéma, il semble que
internal_profile_views
représente un tableau M:N entre les profils utilisateur et les utilisateurs qui ont consulté ce profil.Dans ce cas, les lignes en
internal_profile_views
中具有相同的user_id
和viewed_user_id
avec les mêmes valeursuser_id
etviewed_user_id
signifient que l'utilisateur consulte son propre profil, et les lignes avec des valeurs différentes signifie que l'utilisateur consulte les informations d'autres personnes.Dans votre déclaration de jointure, vous avez utilisé une condition dans laquelle les
user_id
和viewed_user_id
必须匹配相同的users.id
enregistrements peuvent être inclus dans le résultat. Très probablement, vous avez seulement l'intention de vous inscrire sur une colonne, pas deux.Sur cette base, votre requête peut être l'une des suivantes :