MySQL で最新のレコードを選択

Preet Sanghavi 2022年3月29日 MySQL MySQL Query
MySQL で最新のレコードを選択

このチュートリアルでは、MySQL で最新のレコードを選択する方法を探ることを目的としています。

ユーザーの行動を理解したり、時系列データセットに対して探索的データ分析を実行したりする場合、エントリのタイムスタンプに基づいてデータをフィルタリングすることが非常に重要になります。このエントリのタイムスタンプは、特定の形式で MySQL に保存されます。

この形式は、yyyy-mm-dd HH:MM:SS として説明できます。ほとんどの企業では、データパケットに関連する問題をデバッグしようとしているときに、テーブル内の最新のレコードの 1つにアクセスする必要があります。

MySQL は、MAX() メソッドを使用してこの操作を実行するのに役立ちます。この方法がどのように機能するかを理解しましょう。

始める前に、テーブル 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'); 

上記のクエリは、行が sample_idsample_name、登録タイムスタンプが sample_ts のテーブルを作成します。データのエントリを表示するには、次のコードを使用します。

SELECT * FROM Student_Registration; 

出力:

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 

最新の学生登録の sample_ts を取得してみましょう。これは、sample_ts 列を使用して実現できます。

MySQL で最新のレコードを選択

次のクエリは、sample_ts 列に最新のエントリがある学生を取得するのに役立ちます。

SELECT  MAX(sample_ts) AS most_recent_registration FROM Student_Registration; 

出力:

most_recent_registration 2019-01-01 00:00:01 

したがって、上記のコードブロックでわかるように、sample_ts 列を使用して最新のタイムスタンプエントリにアクセスできます。この手法の代わりに、MySQL で ORDER BY DESC 句を使用し、値を 1 に制限することもできます。

次のクエリを使用すると、より深く理解できます。

SELECT * FROM Student_Registration ORDER BY sample_ts DESC LIMIT 1; 

上記のコードは、最新のレコードに関連付けられているすべての列をフェッチします。

出力:

sample_id	sample_name	sample_ts 4	Martin G	2019-01-01 00:00:01 

したがって、タイムスタンプ列の横にある MAX 関数または ORDER BY DESC 句を使用すると、MySQL のテーブルから最新のレコードを効率的に選択できます。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Preet Sanghavi
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

関連記事 - MySQL Query