Ich habe eine Abfrage, die ich vereinfachen wollen:MySQL - Wie vereinfacht man diese Abfrage?
select
sequence,
1 added
from scoredtable
where score_timestamp=1292239056000
and sequence
not in (select sequence from scoredtable where score_timestamp=1292238452000)
union
select
sequence,
0 added
from scoredtable
where score_timestamp=1292238452000
and sequence
not in (select sequence from scoredtable where score_timestamp=1292239056000);
Irgendwelche Ideen? Grundsätzlich möchte ich aus der gleichen Tabelle alle Sequenzen extrahieren, die zwischen zwei Timestamp-Werten unterschiedlich sind. Mit einer Spalte "hinzugefügt", die darstellt, ob eine Zeile neu ist oder eine Zeile gelöscht wurde.
Quelltabelle:
score_timestamp sequence
1292239056000 0
1292239056000 1
1292239056000 2
1292238452000 1
1292238452000 2
1292238452000 3
Beispiel zwischen (1292239056000, 1292238452000) Abfrageergebnis (2 Zeilen):
sequence added
3 1
0 0
Beispiel zwischen (1292238452000, 1292239056000) Abfrageer (2 Zeilen) :
sequence added
0 1
3 0
Beispiel zwischen (129 2239056000, 1292239056000) Abfrageer (0 Zeilen):
sequence added
+1 Peter, ich vermisse/vermasselt mein Verständnis davon :) –
großartig! Danke vielmals! –
Hoppla! Es ist nicht die gleiche Frage! Ich habe weitere Beispiele hinzugefügt, die mit dieser Abfrage nicht zufrieden sind :(Zum Beispiel beim Vergleich mit dem gleichen Zeitstempel oder beim Vergleich in der Umkehrreihenfolge (ich möchte auch höher mit niedrigeren Zeitstempeln vergleichen) .... –