Accueil > Forum > > > > Calculer des différences sous certaines conditions
Calculer des différences sous certaines conditions
mardi 13 décembre 2005 à 19:24:25 |
Calculer des différences sous certaines conditions

JoeyBlack
|
Bonjour
J'ai une table de type : date Date, valeur Float. J'aimerai créer une
nouvelle table contenant le même type de champs : date Date, valeur2
Float.
Je veux que valeur2(date) = valeur(date)-valeur(date précédente), la
date précédente n'étant pas forcement égale à la date -1 mais est le
maximum des dates précédent la date en question.
Quelqun (un bon ;) )peut-il m'aider à faire une requete rapide a faire sur un nombre important de données (700000) ?
Merci bcp
JoeyBlack
|
|
mardi 13 décembre 2005 à 20:52:16 |
Re : Calculer des différences sous certaines conditions

nhervagault
|
Salut
Peux tu mettre un exemple de temple départ et arrive car un exemple vaut mieux qu'un long discours.
Et mettre le type de base
thanks
|
|
mardi 13 décembre 2005 à 21:37:33 |
Re : Calculer des différences sous certaines conditions

JoeyBlack
|
Départ :
2005-12-02 30.46
2005-12-05 29.95
2005-12-06 30.34
2005-12-07 30.12
2005-12-08 29.81
2005-12-09 29.98
2005-12-12 29.89
Et je veux à l'arrivé :
2005-12-05 -0.51
2005-12-06 0.39
2005-12-07 -0.22
2005-12-08 -0.31
2005-12-09 0.17
2005-12-12 0.09
Par contre je suis un peu débutant dans
tout ce qui est base de données. Le "type" de base je sais pas trop de
quoi tu parles, en tout cas j'utilise MySQL 5.0.
J'espère que c tout ce que tu voulais savoir :S.
|
|
mardi 13 décembre 2005 à 23:30:54 |
Re : Calculer des différences sous certaines conditions

nhervagault
|
C'est assez chaud à faire
car les bases de données ne sont pas faites pour faire ce genre de traitement
Pour faire cela il faudrait je pense utiliser les procédures stockées ou un programme qui est plus adaptée car les BDD ne sont pas faite pour des traitements entre lignes mais entre table ;-)
et de faire la liasons dessus num est le numero de la ligne il y a peut etre une fonction sql pour le faire
Ensuite
faire une requete du style
select A1, B2-A2,b.num, a.num from A, B where A.num = B.Num +1
Attention l'ordre des lignes est important aussi, je ne maitrise pas les focntions avancées de mysql désolé
Pour les procedures stockées je maitrise pas celle de mysql
|
|
mercredi 14 décembre 2005 à 10:32:14 |
Re : Calculer des différences sous certaines conditions

aieeeuuuuu
|
salut,
une solution un peu tordue mais qui pourrait bien marcher si elle est bien realisee, consisterait a creer une table temporaire contenant en plus des deux champs de ta table d'origine, un champ ID autoincrementé.
ensuite tu insere tes données classées par ordre de date dans ta table.
puis pour inserer dans ta table finale, tu fais la soustraction entre tes valeurs de la table temporaire ID n et de la table temporaire ID n-1.
une requete du genre
INSERT INTO MaTableFinale SELECT
|
|
mercredi 14 décembre 2005 à 10:34:47 |
Re : Calculer des différences sous certaines conditions

aieeeuuuuu
|
mouarfff ?!?
elle est passée ou la fin de mon post ???
bon je disais donc pour la requete :
INSERT INTO maTableFinale
SELECT T1.date, (T1.valeur - T2.valeur)
FROM tableTemporaire T1, tableTemporaire T2
WHERE T1.ID = T2.ID + 1
et ca ca devrait fonctionner.
|
|
jeudi 15 décembre 2005 à 00:58:09 |
Re : Calculer des différences sous certaines conditions

JoeyBlack
|
Merci, logiquement ca devrait marcher. (le temps que je trouve les commandes pour creer une table temporaire etc...)
Une dernière chose, bcp plus simple...
Si je veux créer une nouvelle table (date, valeur2) contenant les
valeurs de ma table (date,valeur) mais telle que valeur2 = valeur -
moyenne(valeur), la moyenne étant celle de toute la table...
Il y a un moyen de déclarer des variables temporaires dans une requete ?
Merci pour vos réponses en tous cas, ca m'aide beaucoup :)
|
|
jeudi 15 décembre 2005 à 08:51:33 |
Re : Calculer des différences sous certaines conditions

nhervagault
|
Salut
AVG --> moyenne je crois sinon (sum(*)/count(*)) as valeur2 Group by cléprimaire de la table
bon courage
|
|
jeudi 15 décembre 2005 à 09:57:28 |
Re : Calculer des différences sous certaines conditions

aieeeuuuuu
|
oui, c'est ca, pas besoin de varable temporaire dan sta requete :
tu fais juste
INSERT INTO NouvelleTable
SELECT date, valeur - (SELECT AVG(valeur) FROM MaTable) FROM MaTable
|
|
jeudi 15 décembre 2005 à 09:59:13 |
Re : Calculer des différences sous certaines conditions

aieeeuuuuu
|
quoique directement
INSERT INTO maNouvelleTable SELECT date, valeur - AVG(valeur) FROM MaTable
va peut etre fonctionner, mais je ne suis pas sur. ?!?
|
|
Cette discussion est classée dans : date, valeur, calculer, conditions, différences
Répondre à ce message
Sujets en rapport avec ce message
Connaitre la valeur dans un INSERT [ par PunkDude424 ]
Salut, je développe une application de gestion de rendez vous avec VB et SQL Server....j'ai une table rendezvous qui contient les informtions du rende
calculer l'age d'une personne [ par slante ]
HelloJ'ai creer une table en Oracle XE pour un arbre genealogique, j'ai besoin d'une query qui retourne l'age des personnes :vivantes, base sur la dat
SELECT [ par tjarvl ]
Salut j'ai une table ou je doit afficher la somme ,le maximum et la valeur correspondante au max d'une colonne; Je ne sais pas comment afficher la va
Ordonner selon une valeur [ par Isengard ]
Bonjour ! J'ai un petit problème assez énervant ! Je fais un système de réféncement d'évenement avec génération d'une frise chronologique qui fait ap
Sélectionner 2 fois le meme champ mais avec 2 conditions différentes [ par cispo ]
Bonjour, Comme je l'ai mis dans le titre, je cherche à effectuer une requete qui sélectionne 2 fois le meme champs mais avec 2 conditions différentes
Problème avec une requête [ par emmanuel9 ]
Bonjour à tous, J'ai une table Personne avec dans cette table une colonne "date de création" et ma requete ressemble à ca : "SELECT * FROM PERSONNE WH
Ajouter un an à une date (renouvelable chaque année) sous access [ par totolaterreur ]
Salut J'ai des requêtes SQL à faire sous access et dans les requêtes, je dois comparer des dates à une seule. Par exemple, je dois comparer 07/06/2006
XML et Requete [ par blueangel ]
blueangel12@yahoo.com 13/02/2006<b
DateTime SQL problem [ par toubal_99 ]
salutg un problem avec une requette SQL suivanteSoins.SQL.Clear;Soins.SQL.Add('SELECT * from Soins where Soins.Date_Heure= :Date_Heu
Vérifier la valeur du champs [ par Goldeneye007 ]
Salut,Je voudrai vérifier la valeur d'un champ session ("uid") que j'ai fais apparaitre dans mon formulaire asp.net par le biais d'une zone texte comm
Livres en rapport
|
Derniers Blogs
MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|