IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Fusion de requête [MySQL-5.7]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut Fusion de requête
    Bonjour à tous,

    Nouveau sur ce forum, je souhaitais extraire de ma base de données le nombre d'utilisateurs qui se sont inscrits à une date donnée dans une étendue de date. Cela donne la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT substring(userprofile.createdAt, 1, 10) as date, count(user.id) from user
    left join userprofile on user.profile_id = userprofile.id
    WHERE userprofile.createdAt BETWEEN "2018-01-01" and "2018-10-01"
    group by date
    order by createdAt ASC;
    Celle-ci fonctionne pas mal.

    Mon problème est que je souhaiterai maintenant obtenir le nombre d'utilisateurs inscrits avant une date dans une étendue de date. Pour une date seule j'aurai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(user.id) from user
    left join userprofile on user.profile_id = userprofile.id 
    WHERE userprofile.createdAt <= "2018-09-01"
    Auriez-vous une idée du comment s'y prendre afin que je puisse obtenir le résultat de cette valeur unique mais dans une suite de date ; en gros mélanger les 2 requêtes.

    Par avance merci.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Après avoir cherché un peu plus dans le forum et être tombé par hasard sur ce post de 2009 j'ai fini par construire une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT SUBSTRING(userprofile.createdAt, 1, 10) as date,
    	(SELECT COUNT(user.id) FROM user
         LEFT JOIN userprofile on user.profile_id = userprofile.id
         WHERE userprofile.createdAt < date)
    FROM user
    LEFT JOIN userprofile ON user.profile_id = userprofile.id
    WHERE userprofile.createdAt BETWEEN "2018-07-01" AND "2018-07-31"
    GROUP BY date;

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 455
    Par défaut
    Bonjour,
    Puisque tu veux les utilisateurs inscrits entre deux dates (disons d1 et d2), mais avant d3, je vois deux possibilités:
    1. d3 est inférieure ou égale à d2
    2. d3 est supérieure à d2

    Dans le premier cas ça revient à chercher les inscriptions entre d1 et d3, et dans le deuxième cas entre d1 et d2. Il suffit donc de changer la deuxième date dans la requête, et le tour est joué.

    Tatayo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Fusion de requêtes
    Par divan dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/06/2018, 23h39
  2. "Fusion" de requêtes
    Par colonel.klink dans le forum Développement
    Réponses: 1
    Dernier message: 12/12/2011, 09h44
  3. Requête absente pour fusion avec Word
    Par stéphane_ais2 dans le forum Access
    Réponses: 5
    Dernier message: 05/12/2006, 15h08
  4. Fusion requête Access 2003 vers document word
    Par davidf dans le forum Access
    Réponses: 2
    Dernier message: 17/06/2005, 13h46
  5. Fusion de requêtes ...
    Par eGGyyS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/09/2004, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo