Bonjour à tous,
avant toute question, un petit mot pour vous dire que je viens de passer presque 2h sur la fonction recherche, en vain... merci pour votre indulgence si ma question de débutant vous apparaît évidente
Voilà mon problème:
J'utilise Pentaho Data Integration pour "aspirer" des données depuis une base mySQL, les transformer, et les envoyer vers une base Postgresql. J'ai la possibilité donc de définir ma requête SQL au moyen d'un script type javascript.
Ma base de données mySQL est composées de mesures liées à différents objets prises au cours du temps. Un exemple simplifié de ma table nommée TREND_I =>
OBJET ; TS ; MESURE
point1 ; 2013/06/24 ; 34
point2 ; 2013/06/24 ; 56
point1 ; 2013/06/23 ; 67
point2 ; 2013/06/23 ; 35
point3 ; 2013/06/23 ; 89
point1 ; 2013/06/22 ; 12
point2 ; 2013/06/22 ; 26
point3 ; 2013/06/22 ; 34
Mon objectif est d'extraire la dernière valeur mesurée pour chaque point. Après quelques heures sur google et ce même forum (je suis totalement novice en requêtes SQL), voici le script =>
1 2 3 4
| SELECT a.*
FROM TREND_I AS a
WHERE a.TS=(SELECT MAX(b.TS) from TREND_I b WHERE TS=b.TS)
ORDER BY a.TS |
Comme vous l'aurez peut-être deviné, je n'obtiens ainsi que les mesures réalisées à la dernière date, pas la dernière mesure réalisée pour chaque point. Si je reprend l'exemple ci-dessus, je n'aurai donc que les mesures des points 1 et 2 du 24juin2013. J'ai également besoin de la mesure du point 3, réalisée pour la dernière fois le 23juin2013...
D'avance merci à ceux qui prendront le temps de me lire , j'espère que tout cela est compréhensible et pas déjà abordé 100 fois sur ce forum...
Partager