Stackoverflow,Wählen Sie erste und letzte Übereinstimmung nach Spalte aus einer Zeitstempel-Tabelle in MySQL
Ich brauche deine Hilfe!
sagen, dass ich eine Tabelle in MySQL haben, die etwa wie folgt aussieht:
-------------------------------------------------
OWNER_ID | ENTRY_ID | VEHICLE | TIME | LOCATION
-------------------------------------------------
1|1|123456|2016-01-01 00:00:00|A
1|2|123456|2016-01-01 00:01:00|B
1|3|123456|2016-01-01 00:02:00|C
1|4|123456|2016-01-01 00:03:00|C
1|5|123456|2016-01-01 00:04:00|B
1|6|123456|2016-01-01 00:05:00|A
1|7|123456|2016-01-01 00:06:00|A
...
1|999|123456|2016-01-01 09:10:00|A
1|1000|123456|2016-01-01 09:11:00|A
1|1001|123456|2016-01-01 09:12:00|B
1|1002|123456|2016-01-01 09:13:00|C
1|1003|123456|2016-01-01 09:14:00|C
1|1004|123456|2016-01-01 09:15:00|B
...
Bitte beachten Sie, dass das Tabellenschema besteht aus nur so kann ich erklären, was ich zu tun habe versucht .. .
Stellen Sie sich vor, dass von ENTRY_ID 6 bis 999 die Spalte LOCATION "A" ist. Alles, was ich für meine Anwendung brauche, ist im Grunde die Zeilen 1-6, dann die Zeile 1000 weiter. Alles von Zeile 7 bis 999 sind unnötige Daten, die nicht weiter verarbeitet werden müssen. Ich bemühe mich, diese Zeilen entweder zu ignorieren, ohne die Verarbeitung der Daten in meine Anwendung verschieben zu müssen, oder besser noch, sie zu löschen.
ich kratzen meinen Kopf mit diesem, weil:
1) I von LOCATION nicht sortieren kann dann nur die ersten und letzten Einträge, weil die Zeit, um meine Bewerbung wichtig ist, und dies wird verloren gehen - Wenn ich diese Daten beispielsweise auf diese Weise verarbeite, würde ich Zeile 1 und Zeile 1000 verlieren und Zeile 6 verlieren.
2) Ich würde es vorziehen, die Verarbeitung dieser Daten nicht in meine Anwendung zu verschieben, Diese Daten sind für meine Anforderungen überflüssig und es ist einfach sinnlos, sie zu behalten, wenn ich sie vermeiden kann.
In Anbetracht der obigen Beispiel Daten, was ich mit am Ende wollen, sobald ich eine Lösung haben wäre:
-------------------------------------------------
OWNER_ID | ENTRY_ID | VEHICLE | TIME | LOCATION
-------------------------------------------------
1|1|123456|2016-01-01 00:00:00|A
1|2|123456|2016-01-01 00:01:00|B
1|3|123456|2016-01-01 00:02:00|C
1|4|123456|2016-01-01 00:03:00|C
1|5|123456|2016-01-01 00:04:00|B
1|6|123456|2016-01-01 00:05:00|A
1|1000|123456|2016-01-01 09:11:00|A
1|1001|123456|2016-01-01 09:12:00|B
1|1002|123456|2016-01-01 09:13:00|C
1|1003|123456|2016-01-01 09:14:00|C
1|1004|123456|2016-01-01 09:15:00|B
...
Hoffentlich Sinn mache ich hier und nicht etwas offensichtlich fehlt!
@Aliester - Gibt es eine Möglichkeit, um festzustellen, dass eine Zeile nicht zu von den in dieser Zeile enthaltenen Daten verarbeitet benötigt?
Leider nicht.
@O. Jones - Es scheint, als ob Sie hoffen, den frühesten und neuesten Zeitstempel in Ihrer Tabelle für jeden einzelnen Wert von ENTRY_ID, zu ermitteln und dann die Detailzeilen aus der Tabelle mit diesen Zeitstempeln abzurufen. Ist das korrekt? Sind Ihre ENTRY_ID-Werte eindeutig? Sind sie garantiert in aufsteigender Reihenfolge? Ihre Abfrage kann billiger gemacht werden, wenn das wahr ist. Bitte, wenn Sie Zeit haben, bearbeiten Sie Ihre Frage , um diese Punkte zu klären.
Ich versuche die Ankunftszeit an einem Ort zu finden, gefolgt von der Abfahrtszeit von diesem Ort. Ja, ENTRY_ID ist ein eindeutiges Feld, aber Sie können nicht davon ausgehen, dass eine frühere ENTRY_ID einem früheren Zeitstempel entspricht - die eingehenden Daten werden von einer GPS-Einheit eines Fahrzeugs gesendet und NICHT unbedingt in der Reihenfolge verarbeitet, in der sie gesendet werden Netzwerkeinschränkungen.
Gibt es eine Möglichkeit zu bestimmen, dass eine Zeile aus den Daten in dieser Zeile nicht verarbeitet werden muss? – Adrian
Es klingt, als ob Sie hoffen, den frühesten und spätesten Zeitstempel in Ihrer Tabelle für jeden einzelnen Wert von 'ENTRY_ID' zu ermitteln und dann die Detailzeilen aus der Tabelle abzurufen, die diesen Zeitstempeln entsprechen. Ist das korrekt? Sind Ihre 'ENTRY_ID' Werte einzigartig? Sind sie garantiert in aufsteigender Reihenfolge? Ihre Anfrage kann billiger gemacht werden, wenn das stimmt. Bitte, wenn Sie Zeit haben, [bearbeiten] Sie Ihre Frage, um diese Punkte zu klären. –
Zur weiteren Erläuterung. Was macht in Ihrem ersten Beispiel die Zeilen 1 und 6 für das Dataset relevant, das Sie behalten möchten, und was macht Zeile 7 für dieses Dataset irrelevant? –