Soustraction en mysql php
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai reussi a faire une condition if dans la requete afin des soustraire la valeur de l'index precedente mais il me reste juste un soucis est ce que vous savez comment pour la premiere valeur de soustraire la valeur n-1 de la date que j'ai pas selectionné
par exemple je veux les releves d'hier du coup je met la date d'hier mais la premiere valeur ne fait pas la soustraction de la valeur d'avant hier que j'ai pas select la date
je suis en train de creer un projet auquel dedans il y a une partie de consommation de fluides (eau/elec) et j'utilise le chart.js pour l'affichage de graphs du coup dans la requete je devrai faire le calcul de l'index actuelle - l'ancien index exemple
oldindex = 343.32 NewIndex = (IndexReleve/ImpParUnit) - oldindex = 471.56 - 343.32 = 128.24 the value of output 128.24 OldIndex = 471.56 NewIndex = (IndexReleve/ImpParUnit) - oldindex = 473 - 471.56 = 1.44 the value of output 1.44 etc
Du coup j'ai reussi a faire cela dans la requete le probleme c'est que la premiere valeur comme elle n'a pas un ancien index pour faire la soustraction du coup elle est enorme et je voulais savoir du coup si c'etait possible de faire la soustraction de l'index precedente alors que ce dernier n'est pas selectionné dans la requete
j'ai pense a faire avec l'offset mais cela revient au probleme original que c'est la premier valeur n'a pas d'ancien index pour faire la soustraction
SELECT EL.Compteur, EL.Id, DATE_FORMAT(EL.DateHeure, '%d/%m/%Y %H:%i:%s') as DateHeure, EL.IndexReleve, if( 1 > 0, ROUND(EL.IndexReleve/EL.ImpParUnit) - @lastValue, 0000.00 ) as IndexReel, @lastSN := EL.Id, @lastValue := Round(EL.IndexReleve/EL.ImpParUnit) FROM Emplacements, Releves EL, ( select @lastSN := 0, @lastValue := 0 ) SQLVars WHERE DateHeure>'".$DebutAnalyse."' AND DateHeure<'".$FinAnalyse."' AND Emplacements.Id=".$Emplacement." AND Emplacements.CompteurElec=EL.Compteur ORDER BY EL.DateHeure
Le code de la requete
merci beaucoup d'avance
Windows / Chrome 87.0.4280.66
- Soustraction en mysql php
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Soustraction en anglais excel ✓ - Forum Excel
1 réponse
Moi j'essaierais en créant une view associée au code SQL que tu présentes, dans laquelle tu supprimes les conditions sur DateHeure.
Ensuite, fais une requête sur la view, dans laquelle tu appliques la condition sur DateHeure.
Ou utilise une requête similaire à celle suggérée ici, à laquelle tu ajoutes la condition sur DateHeure.
Je comprends pas vraiment ce que vous voulez dire....
Pour créer une view: http://download.nust.na/pub6/mysql/doc/refman/5.0/fr/create-view.html
Ah ok j'ai compris le fonctionnement merci beaucoup pour le message ça m'a aidé a reflechir a la solution, mais il y a juste un soucis j'ai essayé de faire avec la view comme ça j'avais les calculs fait et a juste recuperer en fonction de la date apres le probleme c'est que dans ma requete j'utilise des variables et du coup ça ne marche pas dans la view il n'accepte pas les variables
C'est ce que je craignais.
Je n'ai pas d'idée de comment arriver à la solution en utilisant ainsi des variables.
Je suggère d'utiliser alors la suggestion sans variable.
J'ai essaye sans les variables exemple de requete
Le probleme c'est que le output est NULL