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 :

Récupérer les X premiers


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut Récupérer les X premiers
    Bonjour,

    J'ai un petit souci sur une requête sql.Voilà, j'ai une table avec des codes mesures et des financements.

    Ex :
    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
     
    Mesure     Financement
    A100        35690
    A100        5278
    A100        45
    B100        12
    B100        432
    B100        7654
    B100        123456
    C100        5000
    C100        5000
    C100        5000
    D100        7000
    D100        5000
    D100        5000
    Je souhaite récupérer les 2 plus grands financements pour chaque code mesure. J'ai essayé de regarder du coté des fonctions analytiques sans succès probant pour l'instant...

    Si quelqu'un possède une idée pour m'aider

  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
    Les fonctions analytiques
    Bon, c'est pas simple simple, mais en en mettant plusieurs les unes après les autres ça passe.
    Je regarde ça.

  3. #3
    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
    En fait avec row_number, pas de problème
    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
    16
    17
    18
    19
    WITH MATABLE AS (SELECT 'A100' mesure,35690  finan FROM DUAL UNION ALL
    SELECT 'A100' mesure,5278   finan FROM DUAL UNION ALL
    SELECT 'A100' mesure,45     finan FROM DUAL UNION ALL
    SELECT 'B100' mesure,12     finan FROM DUAL UNION ALL
    SELECT 'B100' mesure,432    finan FROM DUAL UNION ALL
    SELECT 'B100' mesure,7654   finan FROM DUAL UNION ALL
    SELECT 'B100' mesure,123456 finan FROM DUAL UNION ALL
    SELECT 'C100' mesure,5000   finan FROM DUAL UNION ALL
    SELECT 'C100' mesure,5000   finan FROM DUAL UNION ALL
    SELECT 'C100' mesure,5000   finan FROM DUAL UNION ALL
    SELECT 'D100' mesure,7000   finan FROM DUAL UNION ALL
    SELECT 'D100' mesure,5000   finan FROM DUAL UNION ALL
    SELECT 'D100' mesure,5000   finan FROM DUAL )
    SELECT mesure, finan
    FROM (
    	SELECT mesure, finan, row_number() over (PARTITION BY mesure ORDER BY finan DESC) AS num
    	FROM matable
    	)
    WHERE num BETWEEN  1 AND 2

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    J'essayais avec les fonctions analytiques, avec MAX mais ca ne donnait rien...

    Merci de la réponse

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

Discussions similaires

  1. Récupérer les 6 premiers caracteres d'un VARCHAR
    Par andreditdd dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/04/2007, 15h35
  2. Réponses: 2
    Dernier message: 14/06/2006, 09h30
  3. Réponses: 5
    Dernier message: 24/01/2006, 14h25
  4. Réponses: 8
    Dernier message: 02/11/2005, 14h16
  5. comment récupérer les x premiers enregistrements
    Par laurent82 dans le forum SQL
    Réponses: 7
    Dernier message: 12/12/2004, 16h29

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