[RESOLU] calcul de pourcentage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] calcul de pourcentage

Re: [RESOLU] calcul de pourcentage

par moogli » 25 mai 2014, 21:45

De rien ;)

Sirakawa : j'utilise jmerise (jfreesoft).
C'est fait en java, valide le modèle et permet de créer le ddl pour mysql, Oracle et sql server.

Ce n'est pas le meilleur pour moi mais pratique pour un modèle simple (pas de gestion de dictionnaire de données etc).
Pour moi le meilleur reste poweramc.

@+

Re: calcul de pourcentage

par moimeme30 » 25 mai 2014, 14:16

Merci moogli, ca fonctionne parfaitement.
Pour ce qui est de la table, c’était juste un exemple. Mes tables sont construites différemment.
Et effectivement, une table 'produit' serait logique pour un site de vente de produits, ce qui n'est pas mon cas.
J'utilise le champs 'produit' comme information de la même manière qu'un champs 'nom', prénom', 'adresse', etc...
Par contre j'avoue que mon exemple est erroné car dans le champ vendeur il ne peut pas y avoir de doublons.
Merci en tout cas pour ces informations et pour la solution.
Bon dimanche à tous :mrgreen:

Re: calcul de pourcentage

par sirakawa » 25 mai 2014, 14:00

J'ajoiuterai à ce que moogli ne dit pas dans sa modestie, je suppose, c'est que:
Les formes normales dont il parle sont théorisées depuis au moins 30 ans et sont une quasi nécessité dès qu'on cherche à faire quelque chose de sérieux.
La complexité apparente nécessite beaucoup d'attention lors de la création des tables et des codes.
Une Base bien conçue peut répondre aux questions qu'on se posait et, en général, aux questions qu'on se posera. de toute façon, il sera facile de la faire évoluer.
J'en parle en connaissance de cause pour avoir ignoré ce point dans une mienne application que j'ai dû repenser et réécrire en grande partie pour pouvoir répondre à une question que je n'avais pas prévue et qui semblait évidente à l'utilisateur : c'étéaient des élèves, des profs d différentes matières et des classes contenant des élèves suivant différentes matières, pas les mêmes pour tous. "Et que fait-on, me dit-on au changement de cllasse et d'options?"...
Je ne sias pas s'il a signalé l'adresse de l'outil dont il se sert pour créer son modèle de BDD; ça vaudrait le coup qu'il la rappelle.

Re: calcul de pourcentage

par moogli » 25 mai 2014, 10:39

as tu bien mis le même prédicat pour les deux requêtes ?
est ce que ton champ null ou est ce qu'il s'agit d'une chaîne de caractère vide ? (ce n'est pas la même chose).
SELECT ((COUNT(1) * 100)/ (
SELECT COUNT(1)
FROM vente
WHERE produit IS NOT NULL AND produit <>'')) AS pct, produit
FROM vente
WHERE produit IS NOT NULL AND produit <>''
GROUP BY produit;
j'en profite pour te dire que ton modèle de données est foireux.
- tu ne devrais pas avoir de ligne vide (cela ce calcul simplement si besoin)
- tu as des doublons dans les données c'est pas bon (ère forme normale).

tu devrais avoir quelque chose comme ceci
mcd_vente.png
ce qui donne ceci en terme de ddl (MySQL mais le principe et la structure des table est le même pour les autres).
[mysql]CREATE TABLE vendeur(
idvendeur int (11) Auto_increment NOT NULL ,
nom Varchar (25) NOT NULL ,
PRIMARY KEY (idvendeur )
)ENGINE=InnoDB;


CREATE TABLE produit(
idproduit int (11) Auto_increment NOT NULL ,
nomproduit Varchar (25) NOT NULL ,
description Varchar (25) NOT NULL ,
PRIMARY KEY (idproduit )
)ENGINE=InnoDB;


CREATE TABLE vendre(
idvendeur Int NOT NULL ,
idproduit Int NOT NULL ,
PRIMARY KEY (idvendeur ,idproduit )
)ENGINE=InnoDB;

ALTER TABLE vendre ADD CONSTRAINT FK_vendre_idvendeur FOREIGN KEY (idvendeur) REFERENCES vendeur(idvendeur);
ALTER TABLE vendre ADD CONSTRAINT FK_vendre_idproduit FOREIGN KEY (idproduit) REFERENCES produit(idproduit);[/mysql]

une tel structure permet des mises à jour simple et une meilleur maintenance ;)

@+

Re: calcul de pourcentage

par moimeme30 » 24 mai 2014, 22:06

Juste que parfois le vendeur n'a pas vendu donc dans le champs produit il n'y a rien
table vente

vendeur | produit

John | produit1
peter |
jeff | produit2
peter | produit3
jeff | produit3
peter |
john | produit2
...

Re: calcul de pourcentage

par moogli » 24 mai 2014, 20:48

Me faut plus d'info parce que la c'est pas simple
Pense a avoir le même prédicat dans les deux select.

@+

Re: calcul de pourcentage

par moimeme30 » 24 mai 2014, 17:49

Super moogli, ca fonctionne parfaitement.
Mais j'ai certains champs qui sont vides et j'aimerai bien ne pas en tenir compte.
J'ai essayé avec un IS NOT NULL mais ca ne fonctionne pas. :oops:

Re: calcul de pourcentage

par sirakawa » 24 mai 2014, 13:48

@moogli:
quand tu fais un "select count..." comet récupères-tu le résultat avec PHP ?

Re: calcul de pourcentage

par moogli » 24 mai 2014, 13:22

Salut,

Sujet déplacé dans la bonne section ;)

En sql l'on compte avec la fonction count ;)

De quoi a t'on besoin ?
- le nombre totale de vente
- le nombre de vente par produit
- le calcul de pourcentage

Le nombre total de vente c'est simple
Select count(1) as total from vente 
Le nombre de vente par produit demande un groupement des données pour compter. Pour cela on utilise : group by
Select count(1) as nb from vente group by produit;
Le calcul de pourcentage pour un produit :
(Nombre de produit x 100) / nombre total de produit.

Reste a mettre tout cela dans une seule requête.

Select ((count(1) * 100)/ (select count(1) from vente)) as pct, produit from vente group by produit;
Une requête dans ce goût la devrait t'aider.
C'est a tester bien entendu ;)

@+

Re: calcul de pourcentage

par moimeme30 » 24 mai 2014, 11:21

Bonjour,

pour répondre à ta question, ca serai plutot le 1er choix.

Re: calcul de pourcentage

par sirakawa » 24 mai 2014, 07:32

Question ambiguë:
produit1/somme des produits)
ou
produit1 pour vendeur1 /somme du produit1 pour tous les vendeurs ?

calcul de pourcentage

par moimeme30 » 23 mai 2014, 23:00

Bonsoir,

Je tourne en rond avec une requete sql que je ne trouve pas du tout
J'ai une table vente qui comprend nom, produit....
Je cherche a calculer le pourcentage de produit

table vente

vendeur | produit

John | produit1
peter | produit1
jeff | produit2
peter | produit3
jeff | produit3
peter | produit1
john | produit2
...
Quelle est le pourcentage de produit1, de produit 2 etc...
Merci de votre aide