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 :

requete avant derniere date


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut requete avant derniere date
    bonjour
    j'ai 3 dates 05/05/2007 et 01/06/2007 05/06/2007

    comment puis je trouver l'avant derniere date avec un select

    exemple select max(madate) - 1 from table
    ici je recupere 04/06/2007 mais j'aimerez recuperer 01/06/2007

    - Je cherche a faire avec un select , et je veux eviter une boucle

    merci pour vos reponses

  2. #2
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Selon ton language avec des rownum ou des limit tu peux récuperer ce que tu veux.

    Ex avec Oracle 8i:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select jour from (select jour, rownum r from nom_table order by jour desc) where r = 2
    Le order étant desc ou asc selon ce que tu appeles avant dernière date.

  3. #3
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    La valeur renvoyée par ta requete est tout a fait normale :

    ne te renverra pas la valeur immediatement inférieure au max, mais la valeur max -1.

    Essaies ce petit bout de requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT MAX(ma_date) FROM matable
    WHERE ma_date<(SELECT MAX(ma_date) FROM matable)
    Par contre, en ce qui concerne les performances, rien de garantie.

    La solution de Drizzt [Drone38] est très liée au SGBD utilisé...

    Bon courage

  4. #4
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Citation Envoyé par Yanika_bzh

    La solution de Drizzt [Drone38] est très liée au SGBD utilisé...
    Oui tout à fait, c'est pour ça que j'ai mentionné aussi la solution avec Limit qui fonctionne avec d'autres SGBD.

    Mais niveau perf à vue de pif de mes souvenirs de complexité algorithmique je pense que ta solution est meilleure. ( 2n contre nlogn si mes souvenirs sont bons).

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2014, 17h32
  2. Calculer le dernier jeudi avant une date entrée.
    Par sabrine1311 dans le forum VB.NET
    Réponses: 4
    Dernier message: 22/07/2014, 18h29
  3. [AC-2010] Requête dernier paramètre non vide avant une date
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/05/2013, 15h58
  4. Requete Avant dernier enregistrement
    Par alainmaree dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/07/2011, 20h42
  5. [AC-2007] Avant-dernier de date ?
    Par kwhman dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/06/2010, 18h04

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