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 :

Lister 10% des références par objet


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Points : 27
    Points
    27
    Par défaut Lister 10% des références par objet
    Bonjour,

    En créant une requête, j'arrive à lister une liste d'objet avec les références qui lui sont associées. En gros, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select objet, reference
    Cependant, je cherche à ne lister que 10% des références (pour chaque objet 10% de ses références) sans utiliser de macros Excel.

    Je pense qu'il me serait possible d'utiliser du PL/SQL, mais comme je n'y connais rien, j'essaye sans.

    Donc, dans un premier temp, je crée une table pour avoir le nombre de références à prendre par objet (en arrondissant les 10% au nombre supérieur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table nombreRef as
    select objet, round(0.1*(count(reference))+0.49) nbRef
    from listeObjetsRefs
    group by objet;
    Mais à partir de là, je bloque car le rownum ne m'aide pas.

    Pouvez-vous m'aider?

    Merci à vous!

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Vous pouvez faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with cte_ref_ntile (objet, reference, nt) as
    (
    select objet, reference
         , ntile(10) over(partition by objet order by null)
      from listeObjetsRefs
    )
    select objet, reference
      from cte_ref_ntile 
     where nt = 1;

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    Merci pour votre réponse si rapide!

    J'avais posé ma question juste avant de partir en congé, pour laisser le temps d'avoir des réponses.

    Je testerai et mettrai en résolu dès mon retour.

    Merci encore!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Le code fonctionne parfaitement! J'y ai rajouté un peu d'aléa (je me rends compte que je ne l'avais pas précisé) et c'est impec.

    Merci!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/07/2013, 13h56
  2. [AC-2007] Mise à jour des références par VBA
    Par jpg75014 dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/06/2011, 17h31
  3. [XL-2003] Remplacer des références par des noms de cellules dans des formules existantes
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/04/2010, 19h28
  4. Réponses: 1
    Dernier message: 06/04/2007, 17h59
  5. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25

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