Aktuellsten Datensatz in MySQL auswählen
In diesem Tutorial möchten wir untersuchen, wie Sie den neuesten Datensatz in MySQL auswählen.
Während Sie das Benutzerverhalten verstehen oder explorative Datenanalysen an Zeitreihendatensätzen durchführen, wird das Filtern von Daten basierend auf dem Eingangszeitstempel von entscheidender Bedeutung. Dieser Eintragszeitstempel wird in MySQL in einem bestimmten Format gespeichert.
Dieses Format kann als yyyy-mm-dd HH:MM:SS
dargestellt werden. In den meisten Unternehmen ist es beim Versuch, Probleme im Zusammenhang mit Datenpaketen zu debuggen, erforderlich, auf einen der neuesten Datensätze in der Tabelle zuzugreifen.
MySQL hilft uns bei dieser Operation mit der Methode MAX()
. Lassen Sie uns verstehen, wie diese Methode funktioniert.
Bevor wir beginnen, müssen wir einen Dummy-Datensatz erstellen, indem wir eine Tabelle student_details
erstellen.
-- create the table Student_Registration
CREATE TABLE Student_Registration
(
sample_id int NOT NULL,
sample_name VARCHAR(20),
sample_ts TIMESTAMP
);
-- insert rows to the table Student_Registration
INSERT INTO Student_Registration
(
sample_id, sample_name, sample_ts
)VALUES
(1, 'Preet S', '2016-01-01 00:00:01'),
(2, 'Dhruv M', '2017-01-01 00:00:01'),
(3, 'Peter P', '2018-01-01 00:00:01'),
(4, 'Martin G', '2019-01-01 00:00:01');
Die obige Abfrage erstellt eine Tabelle mit Zeilen sample_id
, sample_name
und einem Registrierungszeitstempel als sample_ts
. Um die Einträge in den Daten anzuzeigen, verwenden wir den folgenden Code.
SELECT * FROM Student_Registration;
Ausgabe:
sample_id sample_name sample_ts
1 Preet S 2016-01-01 00:00:01
2 Dhruv M 2017-01-01 00:00:01
3 Peter P 2018-01-01 00:00:01
4 Martin G 2019-01-01 00:00:01
Lassen Sie uns die sample_ts
der letzten Studentenanmeldung holen. Dies erreichen wir mit der Spalte sample_ts
.
Auswahl des jüngsten Datensatzes in MySQL
Die folgende Abfrage kann uns helfen, den Schüler mit dem neuesten Eintrag in der Spalte sample_ts
abzurufen.
SELECT
MAX(sample_ts) AS most_recent_registration
FROM Student_Registration;
Ausgabe:
most_recent_registration
2019-01-01 00:00:01
Wie wir im obigen Codeblock sehen können, haben wir also mit Hilfe der Spalte sample_ts
Zugriff auf den neuesten Zeitstempeleintrag. Eine Alternative zu dieser Technik wäre die Verwendung der ORDER BY DESC
-Klausel in MySQL und die Begrenzung des Werts auf 1
.
Es kann mit der folgenden Abfrage vertieft werden.
SELECT *
FROM Student_Registration
ORDER BY sample_ts DESC
LIMIT 1;
Der obige Code würde uns alle Spalten abrufen, die dem neuesten Datensatz zugeordnet sind.
Ausgabe:
sample_id sample_name sample_ts
4 Martin G 2019-01-01 00:00:01
Daher können wir mit Hilfe der MAX
-Funktion oder der ORDER BY DESC
-Klausel neben einer Timestamp-Spalte effizient den neuesten Datensatz aus einer Tabelle in MySQL auswählen.