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

PL/SQL Oracle Discussion :

Comment faire un select sur une table à partir d'une position donnée ?


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Points : 70
    Points
    70
    Par défaut Comment faire un select sur une table à partir d'une position donnée ?
    Bonjour,

    J'essaie de trouver une requête qui me permettra de faire la chose suivante: extraire N lignes d'une table quelconque à partir d'une position donnée.

    Je m'explique: une table contient disons 100 lignes, si je passe comme paramètre une position = 1, j'extrais les 20 premières lignes, si je passe comme paramètre une position = 21, j'extrais les 20 lignes suivantes, ou encore si je passe comme paramètre une position = 2, j'extrais à partir de la 2ème ligne les 20 lignes suivantes, etc.

    J'apprécierais beaucoup votre aide, car ça fait un bout de temps que je recherche une solution

    En vous remerciant d'avance.

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Je suppose que vous cherchez ça (pagination)
    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
     
    select
            {list of columns}
    from    (
            select  {list of columns}, rownum rn
            from
                    ( {your select statement with order by} )
            where
                    rownum <= N * {your pagesize}
            )       v1
    where
            v1.rn > (N-1) * {your pagesize}
    order by
            rn
    ;

  3. #3
    Membre régulier
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Points : 70
    Points
    70
    Par défaut
    C'est exactement ce que je recherchais !!

    Merci beaucoup pour ton aide, la requête marche à merveille

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. [Tables] Update d'une table à partir d'une autre
    Par le_niak dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/01/2008, 09h01
  3. Réponses: 4
    Dernier message: 04/06/2007, 10h14
  4. Faire un SELECT sur 2 tables?
    Par outshined dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/09/2006, 21h42
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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