Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

sql-Abfrage mit Tora





Frage

Hallo, meine datenbank liegt in mysql vor, auf die ich mit Tora eine Abfrage starten möchte. Fakten: 40 Orte (O) mit je 100 Straßen (S) werden zeitgleich alle 2 Stunden gemessen, also 4000 zeitgleiche Messwerte, 48.000 am Tag. Zu jeder Straße gibt es einen SOLL- und einen IST-Wert. Ich möchte mit EINER Abfrage das (zeitgleiche) Maximum der IST-Werte von jeweils einem Ort wissen. Ich komme nicht mit einer Quera aus und muss anschließend Excel bemühen,was bei 40.000 Zeilen und also 40.000 Funktionen sehr lange dauert - habe mit concat angefangen - subqueries sind nicht möglich - vielleicht mit temporären tables ??? Freue mich schon sehr auf Vorschläge. Gruss, Stephan

Antwort 1 von xmatrix

Die Syntax dürfte dem ANSI-Standard entsprechen:

select Ort, max(Istwert) from Tabelle
where Zeitpunkt = x
group by Ort, Istwert

Je Ort wird nun eine Gruppe mit allen Istwerten gebildet, ausgegeben wird jedoch nur der Maximalwert.

Beispieldaten wären hier wahrscheinlich hilfreicher, auch das Tabellenformat.

Antwort 2 von Stephan_5000

Hallo xmatrix,

danke für deine schnelle Antwort, schaue jetzt erst wieder rein.
Mir fällt leider auf, dass ich meine Problem-Stellung nicht genau genug beschrieben hatte :-(

Also:
es gibt für jede Stadt zu jedem Messzeitpunkt eine Summe über alle Istwerte. Ich suche das Tages-Maximum dieser zeitgleichen Summen für jede Stadt.
Das Ganze in einer Abfrage, die mir genau die 40 Maxima aller 40 Orte ausspuckt.

Zum Format: die 40x100=4000 zeitgleichen Werte liegen als Zeilen in einer Tabelle vor; mit Spalten für Ort, Straße, Messzeitpunkt, Mess(Ist)wert. Am Tagesende also 4000x12 Messintervalle = 48.000 Werte in einer Tabelle.

Dadurch wird meiner Meinung nach die Sache ert kompliziert, oder?

Schönen Gruss an alle freiwilligen Helfer und danke schon mal,
Stephan

Antwort 3 von xmatrix

Es gibt also eine Tagestabelle mit Istwerten zu einem Zeitpunkt. Für alle Istwerte je Ort wird nun die Summe gebildet. Es ist nun die größte Summe je Ort zu bestimmen.

Die folgende Abfrage funktioniert mit Access:

select Ort, max(Summe) as Maximum from (SELECT Zeitpunkt, Ort, sum(Messwert) as Summe FROM Tabelle1 group by Ort, Zeitpunkt) group by Ort

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: