Aktuellsten Datensatz in MySQL auswählen

Preet Sanghavi 29 März 2022
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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Query