Bonjour à tous,
Je viens sur le site, car malgré ma recherche dans mes connaissances SQL, je ne trouve pas la solution, voici mon problème, si quelqu'un peut me donner la solution ...
Je gère une table unique : TensionsMilli (plus de 40 millions de records), cette table contient les rubriques suivantes :
Chrono : Entier non signé sur 4 octets (Clé unique)
Data_Date : Date sur 8 (AAAAMMJJ)
Data_Heure : Heure sur 9 (HHMMSSLLL) LLL = millièmes de seconde
Tens_Demande : Réel sur 8 (2 décimales)
Tens_Disponible : Réel sur 8 (2 décimales)
DateHeureLLL : Chaîne sur 17 (clé unique composée de Data_Date + Data_Heure)
Je souhaite regrouper cette table par minute, j'ai donc écrit la requête suivante :
Cette requête me renvoie correctement les valeurs attendues, ainsi que le regroupement par minute. Là où je coince, c'est que j'aimerais connaître les valeurs des rubriques Tens_Demande et Tens_Disponible, à la fois au début de la minute, et à la fin de la minute, exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT RPAD(SUBSTR(DateHeureLLL, 1, 12),14,'0') AS DateHeure, MAX(DISTINCT Tens_Demande) AS HautDemande, MIN(DISTINCT Tens_Demande) AS BasDemande, MAX(DISTINCT Tens_Disponible) AS HautDisponible, MIN(DISTINCT Tens_Disponible) AS BasDisponible, COUNT(*) AS Volume FROM TensionsMilli WHERE Data_Date >= '20120101' GROUP BY DateHeure ORDER BY DateHeure ASC
La minute de 20120102 180000000 à la fin, soit 20120102 180059999 contient 76 records :
Je souhaite donc connaître les valeurs de Tens_Demande et Tens_Disponible du 1er record du groupe de cette minute, et ces mêmes valeurs du dernier record du groupe.
Merci de votre aide,
LeTigre30
Partager