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

Langage SQL Discussion :

Max, min et dates


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Max, min et dates
    Bonjour.

    Je dispose d'une table dont une des colonnes contient une date. J'ai tout une série d'enregistrements avec des dates aussi diverses que variées. L'utilisateur me donne une date MA_DATE. De quoi aurait l'air la requête SQL si je voulait obtenir deux enregistrements dont le premier serait celui dont la date est celle qui précède directement MA_DATE et qui en est la plus proche, et dont le second serait celui dont la date est celle qui suit directement MA_DATE et qui en est la plus proche? En d'autres termes, si on part de MA_DATE, il me faut les deux éléments qui sont à côté (en parlant de l'ordre des dates).

    Merci d'avance.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour, ceci demande test,et certainement optimalisation, et il y certainement moyen de faire autrement.


    j'ai une table 'participant' et dedans un attribut date 'par_date_participant'.

    En Mysql j'aurais fais ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT 
    (SELECT par_date_naissance FROM participant WHERE par_date_naissance BETWEEN '2005-06-01' AND (SELECT MAX(par_date_naissance) FROM participant) ORDER BY par_date_naissance ASC LIMIT 1) as maxdate,
    (SELECT par_date_naissance FROM participant WHERE par_date_naissance BETWEEN (SELECT MIN(par_date_naissance) FROM participant) AND '2005-06-01' ORDER BY par_date_naissance DESC LIMIT 1) as mindate
    FROM participant
    LIMIT 1

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    En Mysql j'aurais fais ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT 
    (SELECT par_date_naissance FROM participant WHERE par_date_naissance BETWEEN '2005-06-01' AND (SELECT MAX(par_date_naissance) FROM participant) ORDER BY par_date_naissance ASC LIMIT 1) as maxdate,
    (SELECT par_date_naissance FROM participant WHERE par_date_naissance BETWEEN (SELECT MIN(par_date_naissance) FROM participant) AND '2005-06-01' ORDER BY par_date_naissance DESC LIMIT 1) as mindate
    FROM participant
    LIMIT 1
    Effectivement, il y a probablement un moyen plus efficace mais, dans l'immédiat, ça me conviendra. Merci!

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

Discussions similaires

  1. la fonction Max/Min sur des dates
    Par chabagrou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/12/2007, 18h38
  2. Max a une date precise mais doit retourner aussi si dernier
    Par cloche44 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/01/2007, 09h51
  3. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59
  4. min des dates en asp
    Par nourbane dans le forum ASP
    Réponses: 2
    Dernier message: 30/06/2006, 11h35
  5. [oracle 9i] Max d'une date
    Par Requin15 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/06/2006, 15h09

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