i ont une requête que je veux simplifier:MySQL - Comment simplifier cette requête?
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);
Toutes les idées? fondamentalement, je veux extraire de la même table toutes les séquences qui sont différentes entre deux valeurs d'horodatage. Avec une colonne "ajoutée" qui représente si une ligne est nouvelle ou si une ligne a été supprimée.
table Source:
score_timestamp sequence
1292239056000 0
1292239056000 1
1292239056000 2
1292238452000 1
1292238452000 2
1292238452000 3
exemple entre (1292239056000, 1292238452000) résultat de la requête (2 lignes):
sequence added
3 1
0 0
exemple entre (1292238452000, 1292239056000) résultat de la requête (2 lignes) :
sequence added
0 1
3 0
Exemple entre (129 2239056000, 1292239056000) résultat de la requête (0 lignes):
sequence added
+1 peter, j'ai raté/foiré ma compréhension de ce :) –
grand! Merci beaucoup! –
Oups! ce n'est pas la même requête! J'ai ajouté plus d'exemples qui ne sont pas satisfaits de cette requête :(Par exemple lors de la comparaison avec le même horodatage ou lors de la comparaison dans l'ordre inverse (je veux comparer plus haut avec timestamps plus bas aussi) .... –