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

Oracle Discussion :

Requete et maximum


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut Requete et maximum
    Bonjour,

    j'ai une requete assez simple :
    select dim_value,address_type,sequence_no,address_id from agladdress where dim_value='1525'
    and address_type='1'
    qui renvoi:

    1525 1 0 26790920
    1525 1 1 27795278
    Comment faire pour que cette requete ne me renvoie que la ligne qui à le plus grand sequence_no (3ieme colonne).

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Bonsoir,

    j'ai reussi à trouver quelques choses

    select agl.dim_value,agl.address_type,agl.sequence_no,agl.address_id
    from agladdress agl
    INNER JOIN (select max(address_id) as idAdresse,address_type,dim_value,attribute_id from agladdress group by address_type,dim_value,attribute_id ) adresse ON agl.dim_value=adresse.dim_value and adresse.address_type='1' and adresse.attribute_id='JC02'
    where agl.dim_value='1525'
    and agl.address_id = adresse.idAdresse
    mais je ne suis pas certain de l'optimisation et il y a peut être mieux

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous pouvez le faire avec les fonctions FIRST / LAST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    With agladdress AS
    (
    select '1525' as dim_value, '1' as address_type, 0 as sequence_no, 26790920 as address_id from dual union all
    select '1525'             , '1'                , 1               , 27795278               from dual
    ) 
      select dim_value, address_type,
             max(sequence_no) as sequence_no,
             max(address_id) keep(dense_rank last order by sequence_no asc) as address_id
        from agladdress
       where dim_value = '1525'
         and address_type = '1'
    group by dim_value, address_type;
     
    DIM_VALUE	ADDRESS_TYPE	SEQUENCE_NO	ADDRESS_ID
    1525		1		1		27795278

  4. #4
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    je vais tester cela

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    cela fonctionne

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

Discussions similaires

  1. Requete : Valeur maximum pour chaque jour
    Par totollix dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/12/2009, 09h48
  2. Requete Moyenne des Maximum
    Par gregb34 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/05/2007, 15h41
  3. requete Access pour avoir le maximum
    Par keibenoit dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/02/2007, 13h32
  4. [Oracle 9i] Requete pour recuperer un maximum
    Par Eithelgul dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/11/2006, 11h31
  5. Récupérer le maximum de 2 champs dans une requete SQL
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/07/2006, 11h15

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