Hi!
Richt ziemlich danach, dass ich mir das in PH bastel, stimmts? Denn ich brauch sicher mehr als 1 Tag.
Ich denke, dass du einen Teil im PHP machen musst und den anderem im DBMS machen kannst. Das Statement wird dann aber recht komplex.
Fehlt da als Kriterium noch, dass nur ein einzelner Tag gewünscht ist? Und wie muss ich "ohne Seite 'trallala.php' des vorherigen Datensatzes dieses Users" deuten?
Nein, eigentlich suche ich es sogar nach Tagen sortiert.
Dann fällt mir nichts anderes ein, als beim Ergebnisabfragen mit einem sogenannten Gruppenwechsel auf dem Datum zu arbeiten. Immer wenn die Gruppe (sprich: das Datum) wechselt, musst du einen Datensatz ignorieren, um das Kriterium "ohne ersten Datensatz des Tages" zu erfüllen.
Ohne Seite 'tralalla.php' heißt, dass der Datensatz, selbst wenn alles andere passt, nicht zhur Ergebnismenge gehört, wenn sich in der Spalte 'Seite' des Vordatensatzes der Eintrag 'tralala.php' befindet.
Subselect im WHERE oder Subselect im SELECT nebst Kriteriumsauswertung im HAVING schwebt mir da vor.
Es wäre noch zu klären, ob du Werte vom Vordatensatz in der Ergebnismenge haben willst (auch solche, die zum Berechnen Vordatensatzwerte benötigen) oder ob der nur als Auswahlkriterium dienen soll. Nur als Auswahlkriterium kann die Subquery im WHERE stehen. Sie kann dann auch mehr als einen Wert zurückgeben, der verglichen werden soll (Row Subquery. Der Vergleich muss dann aber für alle Werte mit dem selben Operator durchzuführen sein. Ein Wert mit =, der andere mit < geht beispielsweise nicht.) Im SELECT-Teil jedenfalls kann eine Subquery immer nur einen einzelnen Wert liefern. Braucht man mehrere Werte, kann sie nur im FROM stehen, kann aber keine Correlated Subquery sein sondern muss mit der anderen Tabelle gejoint werden.
Zunächst erst einmal wäre zu klären, wie du "vorhergehenden Datensatz" definierst. Ist es der mit <del>der mit</del> dem größten Zeitwert aus der Menge derer, deren Zeitwert kleiner als der vom aktuellen Datensatz ist? Oder das selbe Prinzip aber mit der ID...
Beides richtig, solange es auf den User 'XYZ' bezogen bleibt.
Da die Einschränkung auf den User Lücken in die Nummerierung der IDs reißt, ist die einfache Formel vor = akt.id -1 gleich gar nicht verwendbar. Bleibt noch die lange Variante, die ich ja schon passend zu formulieren versucht habe. Du musst sie "nur noch" in Code übersetzen.
Lo!