我有一個表具有多個時間戳條目,我試圖列出與每個唯一bookID
條目的最新更新時間戳相關聯的數據。mySQL如何正確分類這些數據?
該表由如下:
create table rankHistory (
id int(10),
rankUpdated timestamp,
bookId varchar(10),
currentRank int(5)
);
實施例的數據:
INSERT INTO rankHistory
(`id`, `rankUpdated`, `bookId`,`currentRank`)
VALUES
(1, '2016-05-27 05:11:44', 'BK-001','100'),
(2, '2016-05-28 08:11:44', 'BK-001','95'),
(3, '2016-05-29 07:11:44', 'BK-001','11'),
(4, '2016-05-29 08:11:44', 'BK-001','5'),
(5, '2016-05-27 05:11:44', 'BK-002','100'),
(6, '2016-05-27 05:11:44', 'BK-002','100'),
(7, '2016-05-29 05:11:44', 'BK-002','100'),
(8, '2016-05-29 06:11:44', 'BK-002','55')
;
合併在以下sqlFiddle一個示例: http://sqlfiddle.com/#!9/4b02d3/4
我試圖獲得輸出作爲如下:
2016-05-29 08:11:44, BK-001, 5
2016-05-29 06:11:44, BK-002, 55
我試圖和思想會工作的查詢(我不是很熟悉MySQL的所以請溫柔..)
select bookId,currentRank,MAX(rankUpdated) FROM rankHistory group by bookId
這確實展示了最新的時間戳條目,但不是它的匹配數據。實現上述產出的正確方法是什麼?
可以PLZ發表您預期的結果 – Ragesh
'2016年5月29日8點十一分44秒,BK-001,11'一個錯字? – 1000111
已經在查詢中完成了所需的編輯,它會給出所需的輸出 – Ragesh