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 :

select des x derniers records


Sujet :

SQL Oracle

  1. #1
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut select des x derniers records
    Bonjour,

    Je cherche à créer une requete me permettant de retourner les x derniers enregistrements.
    J'ai bien un champ date me permettant de trier mais le retour est enorme et je voudrais me limiter à seulement les x (variable à chaque appels) derniers enregistrements.

    Merci de votre aide.

    Oracle 10G.

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

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut

  3. #3
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Désolé, je n'ai pas spécifié que je chercher une autre solution que ROWNUM.

    En effet, j'ai une table avec plusieurs millions de records

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select ma_cle from 
    ( select ROWNUM num, ma_cle
       from T1
       order by desc ma_date
    )
    where num > :mon_max
    est couteux sachant que la structure de la table me contraint à utiliser ça plusieurs fois dans ma requete principale contenant un nombre certain de UNION.

    J'aurais effectivement du précisé que ROWNUM me faisait peur et que je cherché une autre solution.

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Peut être avec les fonctions analytiques, mais de toute façon il te faudra un tri à un moment ou un autre.

    Sinon tu peux aussi utiliser le WITH
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WITH t AS (SELECT 1 AS a FROM dual)
    SELECT * FROM t
    UNION ALL
    SELECT * FROM t
    Et enfin, si u ne donnes pas tous les éléments, ce sera dur de t'aider

  5. #5
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Je ne connais pas les fonctions analytiques, je vais m'instruire et voir si cela peut régler mon probleme.

    Merci beaucoup.

    Encore désolé pour le manque d'élément de ma question, j'aurais du spécifier que j'avais fait un tour par la FAQ et malheuresement pas trouvé mon bonheur.

    Merci pour ton aide et encore milles excuses.

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

Discussions similaires

  1. SELECTION des 100 derniers tuples
    Par waldoun dans le forum SQL
    Réponses: 3
    Dernier message: 22/04/2009, 18h23
  2. SELECT des records si date récente de moins de 6 mois
    Par Sayrus dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/11/2008, 16h36
  3. effectuer une selection des derniers états
    Par phpaide dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/11/2006, 13h08
  4. [debutant] selection des 6 derniers enregistrements
    Par LoLoSS dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/07/2004, 15h27
  5. Réponses: 10
    Dernier message: 01/08/2003, 13h45

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