Rechercher les utilisateurs qui visitent une seule ville au lieu de plusieurs villes dans MySQL [duplicata]
P粉764785924
P粉764785924 2023-07-24 22:47:07
0
1
470

J'ai un tableau avec l'identifiant de l'utilisateur, la ville et la date de réservation. J'ai besoin de connaître les utilisateurs qui ont visité une seule ville et non plusieurs villes au cours d'une plage de dates.

SELECT ID de l'utilisateur, ville, COUNT(*) comme résultat DE visites OÙ start_ts >= 1675209600 -- 1675209600 = 01.02.2023 00:00 ET end_ts <= 1676419200 -- 1676419200 = 15.2.2023 00:00 GROUP BY user_id, city
≪/tr> ≪/tête> ≪/tr> ≪/tr> ≪/tr> ≪/tr> ≪/tr> ≪/tr> ≪/tr>

Les ID utilisateur 10 et 12 n'ont visité qu'une seule ville. Par exemple, l'ID utilisateur 11 s'est rendu à Barcelone deux fois.

J'ai essayé d'utiliser NOT EXISTING et INNER JOIN. Comment attirer les utilisateurs qui n’ont visité qu’une seule ville ?


P粉764785924
P粉764785924

répondre à tous (1)
P粉147747637

Veuillez ajouter la condition HAVING à votre requête :

SELECT user_id, city, COUNT(*) as result FROM visits WHERE start_ts >= 1675209600 -- 1675209600 = 01.02.2023 00:00 AND end_ts <= 1676419200 -- 1676419200 = 15.2.2023 00:00 GROUP BY user_id, city HAVING result = 1

Si vous devez compter uniquement le nombre de villes uniques, vous pouvez utiliser COUNT(DISTINCT(city)) et les supprimer du regroupement comme ceci :

SELECT user_id, city, COUNT(DISTINCT(city)) as result FROM visits WHERE start_ts >= 1675209600 -- 1675209600 = 01.02.2023 00:00 AND end_ts <= 1676419200 -- 1676419200 = 15.2.2023 00:00 GROUP BY user_id HAVING result = 1
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!
    user_id ville résultat
    10 Munich 1
    11 Barcelone 2
    11 Berlin 1
    12 Barcelone 1
    13 Prague 2
    11 Barcelone 1
    13 Berlin 1