SQL-Abfrage: Denksportaufgabe

P

ppeisker

Hallo,

vielleicht kann mir hier jemand mit einer "SQL-Query" behilflich sein,
die ich für meine Studienarbeit benötige. Bei mir dreht sich leider schon alles :-(

Die Informationen:

-Datenbank ist mySQL

-Tabelle:
id INT (AUTO)
timestamp TIMESTAMP
src_ip VARCHAR(15)
src_port VARCHAR(6)
dst_port VARCHAR(15)
dst_port VARCHAR(6)
syn BOOLEAN
fin BOOLEAN
sequence UNSIGNED INT
data text

-Das Ziel (Schrittweise erklärt):
(1) Alle Datensätze auswählen, bei denen syn TRUE ist und den neusten
(TIMESTAMP) auswählen
(2) Datensatz finden, der die gleiche src_ip, src_port, dst_ip und dst_port
hat wie in (1) und bei dem statt des syn-Flags das fin-Flag gesetzt ist.
(3) Alle Datensätze auswählen, deren src_ip usw. wie bei (1) und (2) ist und
deren sequence (INT) zwischen denen von (1) und (2) liegt.
(4) Datensätze aus (3) nach sequence sortiert in eine andere Tabelle schreiben
und in der ursprünglichen Tabelle löschen.

-Wichtig ist, dass dabei möglichst wenig Abfragen an die DB gestellt werden.

Ich bekomme es im Moment leider nicht hin und wäre für jeden Tipp bzw. Vorschlag
dankbar.
 
Zurück