我有一个数据库
Update Record_ID Index Location
1 1 23 China
1 1 24 Beijing
1 1 45 Norway
1 1 23 China
2 1 423 Somne
2 1 24 Beijing
2 1 243 Nevela
3 1 334 DEro
3 1 555 Mood
我在本网站上尝试了其他一些无法解决我的情况的例子,所以请不要快速将其标记为副本。
在这种情况下,我只有1条记录1,但它们可能是数千条。
所以我需要获取所有唯一记录的最新记录。所以在这种情况下,我应该为记录1返回类似的内容:
3 1 334 DEro
3 1 555 Mood
如果有记录2等,他们也会被包括在内。
我尝试使用“LIMIT”,但在这种情况下我的查询只返回了一行。
3 1 555 Mood
PS:这个表有一个自动生成的PK列,我没有包括。
答案 0 :(得分:0)
SELECT * FROM table t1
JOIN (SELECT Record_ID ,MAX(Updates)as maxupdate FROM table GROUP BY Record_ID)x
ON t1.Record_ID = x.Record_ID AND t1.Updates=x.maxupdate
它也适用于多个Record_id
答案 1 :(得分:0)
试试这个
SELECT * FROM Table_Name
WHERE `Update` = (SELECT TOP 1 `Update` FROM Table_Name ORDER BY ID DESC)
答案 2 :(得分:0)
试试这个。这就是我想出来的......它适用于SQLFiddle :)我得到了你想要的结果。
SELECT *
FROM s
WHERE updates=(SELECT MAX(updates) as Latest_Update
FROM s
GROUP BY record_id)