Sélectionnez l'enregistrement le plus récent dans MySQL
Dans ce tutoriel, nous visons à explorer comment sélectionner l’enregistrement le plus récent dans MySQL.
Tout en comprenant le comportement des utilisateurs ou en effectuant une analyse exploratoire des données sur des ensembles de données de séries chronologiques, le filtrage des données en fonction de l’horodatage d’entrée devient d’une importance cruciale. Cet horodatage d’entrée est stocké dans MySQL dans un format particulier.
Ce format peut être illustré par yyyy-mm-dd HH:MM:SS
. Dans la plupart des entreprises, tout en essayant de déboguer les problèmes liés aux paquets de données, il devient nécessaire d’accéder à l’un des enregistrements les plus récents de la table.
MySQL nous aide à réaliser cette opération en utilisant la méthode MAX()
. Comprenons comment cette méthode fonctionne.
Avant de commencer, nous devons créer un jeu de données factice en créant une table, student_details
.
-- 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');
La requête ci-dessus crée une table avec des lignes comme sample_id
, sample_name
et un horodatage d’enregistrement comme sample_ts
. Pour afficher les entrées dans les données, nous utilisons le code suivant.
SELECT * FROM Student_Registration;
Production :
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
Allons chercher les sample_ts
de l’inscription la plus récente de l’élève. Nous pouvons y parvenir en utilisant la colonne sample_ts
.
Sélectionnez l’enregistrement le plus récent dans MySQL
La requête suivante peut nous aider à récupérer l’étudiant avec l’entrée la plus récente dans la colonne sample_ts
.
SELECT
MAX(sample_ts) AS most_recent_registration
FROM Student_Registration;
Production :
most_recent_registration
2019-01-01 00:00:01
Ainsi, comme nous pouvons le voir dans le bloc de code ci-dessus, nous avons accès à l’entrée d’horodatage la plus récente à l’aide de la colonne sample_ts
. Une alternative à cette technique serait d’utiliser la clause ORDER BY DESC
dans MySQL et de limiter la valeur à 1
.
Il peut être compris plus en profondeur avec la requête suivante.
SELECT *
FROM Student_Registration
ORDER BY sample_ts DESC
LIMIT 1;
Le code ci-dessus nous récupèrerait toutes les colonnes associées à l’enregistrement le plus récent.
Production :
sample_id sample_name sample_ts
4 Martin G 2019-01-01 00:00:01
Par conséquent, à l’aide de la fonction MAX
ou de la clause ORDER BY DESC
à côté d’une colonne d’horodatage, nous pouvons sélectionner efficacement l’enregistrement le plus récent d’une table dans MySQL.