[Oracle] MAX-Funktion

Pummelinchen

Grünschnabel
Hallo,

ich stehe vor folgendem Problem. Ich habe eine Messwerttabelle, die folgendermaßen aufgebaut ist: Datum/Zeit + Kanal-ID + Messwert. Nun will ich für 2 verschiedene Kanal-ID´s Werte über einen bestimmten Zeitraum (zB. 01.02.2005 - 01.03.2005) eine Aggregation der Stundenwerte vornehmen und anschließend den Maximalwert feststellen. Dieser Maxwert dient zur Prüfung ob ein von mir definierter Wert überschritten wurde. Die Ermittlung des Maximalwertes ist nun nicht das Problem, vielmehr habe ich keinen Plan wie ich an den Zeitstempel des Maxwertes heran komme. Ich schildere Euch gleich einmal ein Beispiel: Angenommen in dieser Tabelle befinden sich 4 verschieden Kanäle, die paarweise zusammen passen (2+2). Über einen Select ermittle ich nun welche Kanäle zusammen gehören, um wiederrum über einen vorgegeben Zeitraum eine Aggregation der Stundenwerte vorzunehmen und daraus das Maximum ermittle.
(select max(sqrt(power(t1.messwert_wert,2) + power(t4.messwert_wert,2))) maxwert
from messwerttabelle t1, messwerttabelle t4 .....)

Soweit so gut. Es ist auch kein Problem mittels group by Rückschlüsse auf den entsprechenden Kanal zu nehmen. Wo ich jedoch nun hänge ist die Ausgabe des Zeitstempels für den ermittelten Maxwert. Sobald ich den Select um den Zeitstempel erweitere bekomme ich jeden Stundenwert des Kanals wieder. Habe auch versucht die RowID mit einzubinden. War jedoch auch wirkungslos, da mir alle Stundenwerte, bei denen eine Überschreitungen stattgefunden hat, ausgegeben werden. Ich benötige jodoch nur das Maximum.

Ich hoffe, das ich mein Problem einigermaßen verständlich umschrieben habe und bedanke mich schonmal für euer Feedback.

MfG

Pummelinchen
 

Neue Beiträge

Zurück