[英]SQL - retrieve last record of day for the last 7 days
我每小時都會在我的桌子上插入一條記錄。 現在我需要檢索過去30天內每天的最新記錄。
這是我的表:
pl_scores: {
score_id: 'BIGINT(255) PRIMARY KEY AUTO_INCREMENT'
, pid: 'INT(100)'
, score: 'INT(255)'
, rank: 'INT(50)'
, city_cnt: 'INT(10)'
, updatedAt: 'DATETIME'
}
由於每天有24條記錄,所以我不知道如何僅在當天拉出最新記錄。 任何幫助,將不勝感激。
第1步 - 白天將它們分成幾組。
步驟2 - 選擇每個組的最后一個條目的時間戳。
第3步 - 返回並獲取與這些時間戳匹配的記錄。
SELECT
pl_scores.*
FROM
pl_scores
INNER JOIN
(SELECT MAX(updatedAt) AS maxUpdatedAt FROM pl_scores GROUP BY DATE(updatedAt)) as Lookup
ON Lookup.MaxUpdatedAt = pl_scores.updatedAt
注意:這假定每個記錄在updatedAt中具有不同的值。 如果它們不是唯一的,並且多個記錄在任何給定的日期都是最新的,則返回所有綁定的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.