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 :

Requete SQL pour trouver des anniversaires


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut Requete SQL pour trouver des anniversaires
    Bonjour,

    J'ai des données qui liste les dates.

    Le but est de trouver les anniversaires qui peuvent être annuels, semestriels (+ 6mois, pas civils), trimestriels (+ 3mois, pas civils), mensuels.

    Il y aura donc 4 requêtes différentes. Le but pour moi est de réussir à établir ces 4 requêtes.

    Aujourd'hui, j'arrive à avoir mes résultats en passant par PHP, en listant à partir des résultats de ma table, toutes les dates possibles sur les 4 années suivantes.

    Ce n'est pas terrible, et gourmand en ressources.

    Je voudrais des requetes MySQL qui arrivent à me sortir directement mes résultats.

    EXEMPLE ACTUEL:
    Ma requete pour trouver les dates
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT my_date FROM table
    Ensuite, en PHP je prend les dates trouvées, je fais une boucle sur 4 ans, en ajoutant un nombre de mois (en fonction si c'est mensuel, trimestre, semetriel, annuel) et ensuite, une seconde boucle qui va parcourir tous ces résultats PHP et regarder lesquelles sont bien dans mon "range" demandé.

    Je ne sais pas comment faire pour établir une requete MySQL qui ferait ca.

    Pour les anniversaires mensuels, par exemple:
    Si je demande du 15/08/2010 au 15/02/2011 et que dans ma base j'ai par exemple une seule valeur, qui est le 10/05/2002, je voudrai avoir comme résultat:

    10/09/2010
    10/10/2010
    10/11/2010
    10/12/2010
    10/01/2011
    10/02/2011

    Je vous remercie d'avance pour vos pistes ou votre aide .

  2. #2
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par hugo69 Voir le message
    Pour les anniversaires mensuels, par exemple:
    Si je demande du 15/08/2010 au 15/02/2011 et que dans ma base j'ai par exemple une seule valeur, qui est le 10/05/2002, je voudrai avoir comme résultat:

    10/09/2010
    10/10/2010
    10/11/2010
    10/12/2010
    10/01/2011
    10/02/2011
    Euh... la plage de départ est entre août 2010 et février 2005, tu donnes une date en mai 2002, ce qui fait que ni l'année ni le mois ne figurent dans la plage. Seul le jour compte pour arriver au résultat souhaité ?

    Il te faudra modéliser un calendrier et utiliser les fonctions de dates de MySQL.

Discussions similaires

  1. Requete sql pour trouver le min
    Par helgo59 dans le forum Développement
    Réponses: 9
    Dernier message: 27/06/2011, 15h05
  2. requete sql pour sommer des colonnes
    Par debutsas dans le forum SAS Base
    Réponses: 109
    Dernier message: 22/04/2011, 13h26
  3. Réponses: 2
    Dernier message: 15/02/2010, 02h07
  4. Requete pour trouver des trous dans une suite
    Par Ben_Le_Cool dans le forum Langage SQL
    Réponses: 11
    Dernier message: 28/08/2009, 19h17
  5. Requete SQL pour faire des ratios [ACCESS 2002]
    Par jacques64 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/12/2008, 17h18

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