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

SQL Oracle Discussion :

Filtre requete SQL


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Par défaut Filtre requete SQL
    Slt à tous,

    j'ai une question de débutant :
    j'ai 3 lignes quasi-identique dans une table.
    Seul une colonne "VALEUR" diffère (de type NUMBER).

    J'aimerai récupérer la ligne dont la "VALEUR" est la + grande (autrement que par WHERE VALEUR=(SELECT MAX(VALEUR) FROM table)).
    Une idée?
    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Plusieurs solutions existent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select *
    from
    (
      select *
      from t
      order by valeur desc
    )
    where rownum = 1
    Cette solution n'est pas équivalente à ta requête dans le cas général. Mais si tu es sur qu'une seule ligne correspond à la valeur maximale alors elle est bonne.

    une autre solution plus générale consiste à utiliser les fonctions analytiques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select *
    from
    (
      select t.*, dense_rank() over (order by valeur desc) rnk
      from t
      order by valeur desc
    )
    where rnk = 1

Discussions similaires

  1. Requete SQL - Probleme de filtre
    Par jeremy L dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/07/2015, 14h33
  2. faire un filtre dans une requete sql
    Par EFFLYINGJOKER dans le forum Développement
    Réponses: 1
    Dernier message: 02/04/2009, 16h22
  3. [SQL - Oracle 9i] Requete Sql avec filtre sur critere
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 3
    Dernier message: 05/12/2007, 08h45
  4. filtre sur requete SQL
    Par profane dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/06/2007, 11h57
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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