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

Langage SQL Discussion :

Besoin d'aide sur une requête analytique


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut Besoin d'aide sur une requête analytique
    Bonjour

    Admettons que j'ai la table suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ---------------------------------------------
    | id | Famille |   Type   | Sous_type | Qte | 
    ---------------------------------------------
    |  1 | Fruit   |   Orange | Mandarine |  2  |
    |  2 | Fruit   |   Orange | Clementine| 10  |
    |  3 | Fruit   |   Orange | Sanguine  |  8  | 
    |  4 | Fruit   |   Pomme  | Granny    | 20  |
    |  5 | Fruit   |   Pomme  | Golden    |  8  |
    |  6 | Fruit   |   Pomme  | Rouge     | 12  |
    ---------------------------------------------
    j'ai la requête suivante qui me renvois des pourcentages sur les quantités :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT    ID 
        ,    FAMILLE
        ,    TYPE
        ,    SOUS_TYPE
        ,    QTE
        ,    (sum(QTE) over(partition BY SOUS_TYPE) / sum(QTE) over(partition BY TYPE))    AS P_ST_T
        ,    (sum(QTE) over(partition BY TYPE) / sum(QTE) over(partition BY FAMILLE))    AS P_T_F 
    FROM    MATABLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    --------------------------------------------------------------
    | id | Famille |   Type   | Sous_type | Qte | P_ST_T | P_T_F | 
    --------------------------------------------------------------
    |  1 | Fruit   |   Orange | Mandarine |  2  |   10   | 33.33 | 
    |  2 | Fruit   |   Orange | Clementine| 10  |   50   | 33.33 |
    |  3 | Fruit   |   Orange | Sanguine  |  8  |   40   | 33.33 |
    |  4 | Fruit   |   Pomme  | Granny    | 20  |   50   | 66.67 |
    |  5 | Fruit   |   Pomme  | Golden    |  8  |   20   | 66.67 |
    |  6 | Fruit   |   Pomme  | Rouge     | 12  |   30   | 66.67 |
    --------------------------------------------------------------
    - P_ST_T est le pourcentage de quantité de sous_type par rapport à un type
    - P_T_F est le pourcentage de quantité d'un type par rapport à une famille


    Je voudrais faire la même requête mais avoir uniquement les lignes où le P_T_F est supérieur à 50.

    Quelqu'un sait comment je peut faire ? (hormis passer par une sous requête)

    Merci

    Poichou

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 398
    Points
    28 398
    Par défaut
    Citation Envoyé par PoichOU Voir le message
    Quelqu'un sait comment je peut faire ? (hormis passer par une sous requête)
    La sous-requête est la seule réponse pour le moment.
    Il n'existe pas encore (à ma connaissance) de clause équivalente à HAVING pour les fonctions analytiques dans la norme SQL.

  3. #3
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut
    erf

    merci à toi de ta réponse

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

Discussions similaires

  1. [SQL] Besoin d'aide sur une requête
    Par moonboot dans le forum Oracle
    Réponses: 1
    Dernier message: 01/08/2006, 15h56
  2. besoin d'aide sur une requête mysql
    Par unmulot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/07/2006, 13h17
  3. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h26
  4. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  5. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 10h29

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