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 :

Problème avec rownum


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Par défaut Problème avec rownum
    Bonjour !

    J'ai une question qui va sûrement paraitre bête pour certains !!

    Voilà j'utilises ROWNUM dans un ordre SELECT de cette manière :
    SELECT COL1, COL2 FROM TABLE WHERE ROWNUM > 100 AND ROWNUM <200 ;
    En fait ça me ramène aucun résulat.
    J'ai déjà vérifié sur Google et apparemment je ne suis pas le seul à avoir recontré ce soucis.
    Est ce que quelqu'un aurait un tuyau sur une astuce ou une autre fonction
    à utiliser ??

    Meric d'avance pour toute piste

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Bonjour

    Ce petit souci est classique.
    Sur la plan pratique, il faut retenir que vous pouvez utiliser uniquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE ROWNUM < x
    ou
    WHERE ROWNUM=1
    En effet, ROWNUM est vérifié ligne par ligne lors de l'extraction des données, et l'extraction s'arrête dès que la condition n'est plus vérifiée.

    Si vous dites WHERE ROWNUM > 5, la première ligne, qui porte le numéro 1, ne répond déjà pas au critère, et l'extraction ne va pas plus loin.

    Pour obtenir les lignes allant de X à Y, voir la FAQ : http://oracle.developpez.com/faq/?page=3-1#rownum ainsi que celle qui la suit immédiatement.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 77
    Par défaut
    La question est surtout comme d'habitude: quel est ton but?

    Ceci devrait répondre à ta question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select COL1, COL2
    from 
    (
    select rownum indice, a.COL1, A.COL2
    from TABLE a
    WHERE ROWNUM <200
    )
    where indice > 100 and indice < 200

  4. #4
    Membre très actif
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Par défaut
    Merci beaucoup pour vos éclaircissements.

    @dragon74 ,ta requête répond pil poil à ce que j'avais besoin
    Par contre est ce que je peux utiliser un ORDER BY quelque part ?
    peut être dans la sous requête ? Je vais tester et on verra , sinon
    je laisserai tomber le Order By !

  5. #5
    Invité
    Invité(e)

  6. #6
    Membre très actif
    Inscrit en
    Août 2006
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 160
    Par défaut
    Jerome_Mtl , sur le lien tu ma's donné , y'a un exemple avec ORDER BY,
    qui utilise BETWEEN et qui me convient parfaitement.

    Merci à tous

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/02/2013, 14h23
  2. Réponses: 34
    Dernier message: 18/08/2006, 14h48
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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