Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/05/2004, 11h53   #1
Invité de passage
 
Inscription : mai 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 9
Points : 1
Points : 1
Par défaut Médiane,pourcentage...statistiques

bonjour, je souhaite effectuer des pourcentages, des médianes, en language SQL directement je n'y arrive pas car il n'y a que la division entière.

il ya aussi des problèmes lors de division avec des zeros.
c a d que lorsque je divise une ma variable nb/total si le total=0
il y a une erreur je ne comprend pas .
merci d'avance à ceux qui me reponderont

ps : je suis un novise en PostgreSQL mais pas en SQL
boris_ska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2004, 16h21   #2
Membre du Club
 
Inscription : mars 2004
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 89
Points : 59
Points : 59
bonjour boris_ska,


je pense que c'est une regle relativement logique, d'autant plus si vous faites des statistiques. Pour en faire le test allez dans "Démarrer/Executer", tapez calc, ensuite faites le calcul suivant:

5/0=......




ceci dit vous avez la possibilité des traiter les exceptions...
$grm$ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 11h06   #3
Invité de passage
 
Inscription : mai 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 9
Points : 1
Points : 1
j'ai pas réussi car
nb / tot
l'erreur est "division by zero" sachant qu'il y a beaucoup de zero dans ma variable tot et que l'on doit quand meme afficher le resultat, je ne sais comment faire
si je ne suis pas explicite dites le moi !
merci
boris_ska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 11h10   #4
Membre du Club
 
Inscription : mars 2004
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 89
Points : 59
Points : 59
Prenez votre calculatrice de bureau et divisez n'importequel chiffre par 0 vous aurez vite votre réponse!!!!


PS: un petit indice votre probleme ne vient pas de votre base de donnée!!!!!!!
$grm$ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 11h27   #5
Invité de passage
 
Inscription : mai 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 9
Points : 1
Points : 1
Merci mais j'ai mal précié une chose dsl
mais c'est une division par >0.00000001 alors que les variables sont de type float , ou decimal(5,2) donc diviser par 0.0 ce qui <> 0
je ne sais pas si je me fait comprendre
boris_ska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 13h26   #6
Membre du Club
 
Inscription : mars 2004
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 89
Points : 59
Points : 59
D'accord merci pour la précision , en fait quand vous choisissez le format decimal (5,2) il arrondis, si votre chiffre est 0.00000001 il va arrondir à 0 donc la division va être impossible, pour que cela marche vous devez précisez autant de chiffre apres la virgule que nécessaire afin qu'il prenne en compte le "1" à la fin de 0.00000001. A vous de prendre le format adéquate!!!

http://www.postgresql.org/docs/7.4/static/datatype.html#DATATYPE-NUMERIC-TABLE
$grm$ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 14h00   #7
Invité de passage
 
Inscription : mai 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 9
Points : 1
Points : 1
merci
mais il y a d'autres problème car la valeur est souvent 0 mais le format
de variable est et doit etre inchangée
mais pas de problème
sinon pour les médianes je cherche toujours !
boris_ska est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2004, 15h30   #8
Membre du Club
 
Inscription : mars 2004
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 89
Points : 59
Points : 59
bah à moins de traiter votre division par 0, qui est impossible, comme une exception je ne vois pas d'autres solutions si vous ne pouvez changer le typage.

Pour votre médiane, je pense qu'une fonction conviendrait avec la formule du type (la formule varie en fonction des valeurs que vous avez à traiter évidemment...):


x=Médiane
d= limite inf de la classe qui contient la mediane
i= intervalle de la classe qui contient la mediane
e=effectif cumulé croissant de la classe qui precede la mediane
c=effectif simple de la classe qui contient la mediane
n= N/2
N=effectif total
$grm$ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h11.


 
 
 
 
Partenaires

Hébergement Web