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

Requêtes MySQL Discussion :

Requête SQL complexe pour calcul pourcentage


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club

    Femme Profil pro
    Consultant CRM
    Inscrit en
    Décembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 30
    Points : 30
    Points
    30
    Billets dans le blog
    1
    Par défaut Requête SQL complexe pour calcul pourcentage
    Bonjour les développeurs;
    je suis actuellement en cours de développer une requête sql pour avoir un out put pourcentage. mes tables sont:
    fait-vente:
    menage id-produit pénétration
    1 2 OUI
    2 2 OUI
    3 1 OUI
    4 1 OUI
    . . .
    . . .

    le table produit:
    id-produit id-sous-categorie nom-sous-categorie id-categorie nom-categorie
    1 1 8 portions 1 la vache qui rit
    2 2 16 portions 1 la vache qui rit
    3 1 8 portions 2 RIKI
    3 2 16 portions 2 RIKI
    4 1 8 portions 3 FROMY
    5 2 16 portions 3 FROMY


    alors j'ai besoin de calculer le part de marché en terme de valeur de chaque categorie de produit (prix de sous categorie de produit*nbre de menage quit sont achetés) ma requête est comme suite :

    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
    20
    21
    22
    23
    24
    25
     
    select (0.200 * COUNT(`id-menage`)) AS `Somme Dépensé `, p.`nom-sous-categorie`, p.`nom-categorie` 
    from `fait-achat` f ,`produit` p
    where  p.`id-sous-categorie` =1 and   p.`id-categorie`=1 and f.`id-produit`=p.`id-produit` and f.`penetration`="OUI"
     group by p.`code-sou-cat`
     
    UNION
     
    select (1.620 * COUNT(`id-menage`)) AS `Somme Dépensé `, p.`nom-sous-categorie` , p.`nom-categorie` 
    from `fait-achat` f ,`produit` p
    where  p.`id-sous-categorie` =2 and  p.`id-categorie`=1 and  f.`id-produit`=p.`id-produit`and f.`penetration`="OUI"
     group by p.`code-sou-cat`
     
    union
    select (220 * COUNT(`id-menage`)) AS `Somme Dépensé `, p.`nom-sous-categorie` , p.`nom-categorie` 
    from `fait-achat` f ,`produit` p
    where  p.`id-sous-categorie` =1 and  p.`id-categorie`=2 and  f.`id-produit`=p.`id-produit` and f.`penetration`="OUI"
     group by p.`code-sou-cat`
     
    UNION
    select (2.420 * COUNT(`id-menage`)) AS `Somme Dépensé `, p.`nom-sous-categorie` , p.`nom-categorie` 
    from `fait-achat` f ,`produit` p
    where  p.`id-sous-categorie` =2 and  p.`id-categorie`=2 and  f.`id-produit`=p.`id-produit` and f.`penetration`="OUI"
     group by p.`code-sou-cat`
    .......

    le résultat m'affiche comme valeur alors que je l'aime afficher en % càd:

    Au lieu de :

    somme-depensé categorie-produit sous-categorie-produit
    200.000 RIKI 8 portions
    200.000 RIKI 16 portions
    120.000 FROMY 8 portions
    180.000 FROMY 16 portions
    90.000 LA VACHE QUI RIT 8 portions
    210.000 LA VACHE QUI RIT 16 portions


    je veux

    somme-depense-pourcentage categorie-produit
    40% RIKI
    30% FROMY
    30% LA VACHE QUI RIT

    veuillez vous m'aider SVP

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    regardez du côté de GROUP BY : http://sqlpro.developpez.com/cours/sqlaz/ensembles/

  3. #3
    Expert éminent sénior

    Avatar de Francis Walter
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 2 315
    Points : 26 889
    Points
    26 889
    Par défaut
    Pourrais-tu envoyer le script sql des tables et des enregistrements ?
    Vous avez envie de contribuer au sein du Club Developpez.com ?

    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, ...etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

Discussions similaires

  1. Requête sql server pour calculer moyenne entre deux dates
    Par JérômeKGS dans le forum Développement
    Réponses: 2
    Dernier message: 17/04/2015, 13h04
  2. Aide pour une requête SQL complexe
    Par Nasca dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/04/2013, 05h47
  3. update pour calcul pourcentage (SQL SERVER 2000)
    Par meufeu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/09/2005, 10h04
  4. [Requête SQL] Problème pour echantilloner
    Par jool dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/08/2005, 10h08
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 17h18

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