表:MySQL的 - 一個ID下選擇行,由列值組具有最新時間戳
----------------------------------------------------
ID | field_name | field_value | timestamp
----------------------------------------------------
2 | postcode | LS1 | 2016-11-09 16:45:15
2 | age | 34 | 2016-11-09 16:45:22
2 | job | Scientist | 2016-11-09 16:45:27
2 | age | 38 | 2016-11-09 16:46:40
7 | postcode | LS5 | 2016-11-09 16:47:05
7 | age | 24 | 2016-11-09 16:47:44
我不知道是否有人能夠給我一些指點,基於上述數據,我想按ID 2查詢,爲每個唯一的field_name返回一行(如果多個行存在於具有相同field_name的相同ID下,則只返回具有最新時間戳的行)。
我已經設法幾乎通過對field_name進行分組來達到此目的,它將返回唯一行的列表,但不一定是最新的行。
SELECT * FROM fragment WHERE (id = :id) GROUP BY field_name
我真的是在正是我應該做的事情在這裏,我怎麼能適應沿着MAX(時間戳)在此查詢線的東西任何指針感激,
非常感謝!
感謝很多的例子,我加你的邏輯,我的查詢,以及B(套)下我還添加了一個WHERE在我想要的ID通過返回,非常感謝解釋和其他例子,我當然只在這裏使用MySQL,但非常清晰,謝謝。 –