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 :

ROWNUM : problème


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 15
    Par défaut ROWNUM : problème
    Bonjour à tous,

    passant de mysql à oracle, mes requetes comportant un LIMIT ne marchaient plus.
    En fouillant dans les forums, j'ai convertit ces requetes comme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT * FROM 
    (SELECT ROWNUM NUM, 
    CHP1,
    CHP2
    FROM TABLE) 
    WHERE (PER_ID = 92) 
    AND NUM >= 1 AND NUM <= 10 
    ORDER BY CHP1
    Dans cette requête une clause PER_ID = 92 est ajoutée. La requête me retourne bien les résultats. Mais ce n'est pas ce que je voulais.
    Les rownum que j'obtiens sont :
    1, 2, 7, 11
    Est-il possible d'avoir l'équivalent d'un rownum pour obtenir au lieu des rownums 1, 2, 7, 11 les numéros 1, 2, 3, 4

    En effet, j'utilise rownum pour effectuer une pagination (10 par 10). On se rend bien compte que ma requete ne peut pas etre satisfaisante car malgrè le fait qu'elle me retourne 4 résultats, elle est complétement faussée

    Merci bcp pour votre aide

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Voir la
    au niveau du Forum Oracle ou http://oracle.developpez.com/faq/

    Sinon, le order by n'est pas au bon niveau.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 15
    Par défaut
    Citation Envoyé par McM
    Voir la
    au niveau du Forum Oracle ou http://oracle.developpez.com/faq/

    Sinon, le order by n'est pas au bon niveau.
    Vraiment merci. Je n'étais pas allé voir dans la faq, désolé.
    MERCI, à bientot
    Solution, ça peut peut-être aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT  ROWNUM, a.* 
        FROM  ( 
            SELECT * 
           FROM  Table
           ORDER BY ...
           ) a 
      WHERE  ROWNUM < 10 AND
      PER_ID = 92   ;

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

Discussions similaires

  1. Problème avec rownum
    Par comboDev dans le forum SQL
    Réponses: 5
    Dernier message: 06/10/2008, 18h37
  2. ROWNUM : Problème
    Par ldims24 dans le forum SQL
    Réponses: 6
    Dernier message: 20/06/2007, 14h45
  3. Problème Requête Rownum
    Par ldims24 dans le forum SQL
    Réponses: 3
    Dernier message: 08/05/2007, 18h17
  4. Problème de requête rownum
    Par elsodiop dans le forum DB2
    Réponses: 3
    Dernier message: 01/12/2006, 15h21
  5. Réponses: 34
    Dernier message: 18/08/2006, 14h48

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