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 :

requete SQL avec rownum pour un tri


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut requete SQL avec rownum pour un tri
    Bonjour,
    Je souhaiterais afficher les résultats d'une requete par ordre décroissante et prendre de la 6eme à la 10eme.
    Mon problème, c'est qu'il me classe les lignes 6 jusqu'à 10 de ma table par ordre décroissant et pas, comme je le veux, la 6eme valeur plus grande valeur jusqu'à la 10eme plus grande valeur. (c'est pas très clair non??)
    bref, voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select ROWNUM NUM, valeur from ma_table order by valeur desc) where NUM between 6 and 10 ]
    Quelqu'un pourrait m'aider??



  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé quelque chose qui a l'air de marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select rownum n, valeur from (select rownum num, varleur from ma_table order by valeur desc) ) WHERE n BETWEEN 6 AND 10
    Mais je suis sur qu'il y a plus simple que toutes ces imbrications.

    Quelqu'un a une idée??

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par lilsandy
    J'ai trouvé quelque chose qui a l'air de marcher.
    Mais je suis sur qu'il y a plus simple que toutes ces imbrications.
    Non, je pense que c'est la forme la plus simple et la plus performante

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    on peux utiliser RANK qui est plus lisible pour la maintenance sinon

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    tu trouves?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select sal from (select row_number() over (order by sal desc) r, sal from emp) where r between 6 and 10;
     
    select sal from (select rownum r,sal from (select sal from emp order by sal desc)) where r between 6 and 10;
    pas convaincu... bon, rank est différent en ce qui concerne les doublons!

Discussions similaires

  1. Besoin d'aide pour une requete SQL avec curdate()
    Par mulbzh dans le forum Langage SQL
    Réponses: 12
    Dernier message: 17/02/2015, 13h42
  2. Réponses: 0
    Dernier message: 02/03/2011, 23h26
  3. Probleme avec une requete sql dans VB6 pour un champ date
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2009, 08h31
  4. Type de retour pour ma requete SQL avec ADO !
    Par Nixeus dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2007, 10h07
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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