選擇 MySQL 中的最新記錄
Preet Sanghavi
2022年5月13日
在本教程中,我們旨在探索如何在 MySQL 中選擇最新的記錄。
在瞭解使用者行為或對時間序列資料集執行探索性資料分析時,基於入口時間戳過濾資料變得至關重要。此條目時間戳以特定格式儲存在 MySQL 中。
這種格式可以表示為 yyyy-mm-dd HH:MM:SS
。在大多數企業中,在嘗試除錯與資料包相關的問題時,訪問表中最近的一條記錄成為必要。
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_id
、sample_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 中的表中選擇最近的記錄。
作者: Preet Sanghavi