簡體   English   中英

SQL - 檢索過去7天的最后一天記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM