PB sum de float avec MySQL

PB sum de float avec MySQL - SQL/NoSQL - Programmation

Marsh Posté le 01-02-2005 à 21:01:25    

Bonjour,
Voila je souhaite faire un sum de valeur d'une table, jusque la tout va bien.
 
voici un premier select des valeur que je souhaite
SELECT val FROM `histo` WHERE `id_valeur` = 2 LIMIT 2
donne les valeurs suivantes
0.55
0.56
 
Pour info toutes les valeurs ont maxi deux chiffres apres la virgules.
 
Maintenant je fais le sum
SELECT sum(val) FROM `histo` WHERE `id_valeur` = 2 LIMIT 2
donne
23.150000095367
 
Le champs val est de type float.
 
Apres une recherche, j'ai vu des personnes qui font round(sum(val),2)*1 mais cela ne change en rien mon resultat.
 
mysql-server 4.0.23-3 sur Linux Debian Testing a jour.


---------------
Portfolio Boreally.org - Mon livre sur la photo HDR - Ma formation DVD/VOD sur la photo HDR
Reply

Marsh Posté le 01-02-2005 à 21:01:25   

Reply

Marsh Posté le 01-02-2005 à 22:08:47    

Et si tu fais :
 
SELECT sum(val) FROM `histo` WHERE `id_valeur` = 2
 
Ca te donne aussi le même résultat ? :)
 
Il se peut que le LIMIT 2 ne soit appliqué qu'après le SUM ... ;)

Reply

Marsh Posté le 01-02-2005 à 22:32:44    

Alors j'ai fait une petite modif pour avoir que deux valeurs  
 
SELECT val FROM `suivi` WHERE `id_valeur` =2 AND (`day_old` =1 OR `day_old` =2)
 
qui me donne
0.7
0.71
 
en faisant un sum dessus
SELECT sum(val) FROM `suivi` WHERE `id_valeur` =2 AND (`day_old` =1 OR `day_old` =2)
 
J'obtient 1.4099999666214


Message édité par wallace42 le 01-02-2005 à 22:33:24

---------------
Portfolio Boreally.org - Mon livre sur la photo HDR - Ma formation DVD/VOD sur la photo HDR
Reply

Marsh Posté le 01-02-2005 à 22:46:52    

Ca parait plus proche du résultat :D
 
Y a juste un problème d'arrondi, donc cherche une fonction d'arrondi maintenant :)
 
edit :
 
explications ici : http://mysql.binarycompass.org/doc [...] float.html
 
SELECT ROUND(SUM(...)) FROM TABLE ...


Message édité par Beegee le 01-02-2005 à 22:48:10
Reply

Marsh Posté le 01-02-2005 à 23:26:37    

en effet il est interessant de voir que le LIMIT ne rentre pas en compte avant le sum
remarque d'un cote c'est normal c'est fait pour limiter les lignes de resultats donc forcement apres calcul.
 
Merci beaucoup


---------------
Portfolio Boreally.org - Mon livre sur la photo HDR - Ma formation DVD/VOD sur la photo HDR
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed