我有一个具有以下语法的表格:
ID, VALUE, TIMESTAMP
(ID,TIMESTAMP)
是主键,因此每个 ID 可能有多行。有 5000 个唯一 ID。
我想检索每个 ID 的最新条目。
我的天真的做法是:
SELECT * FROM 表 ORDER BY TIMESTAMP DESC LIMIT 5000;
在大多数情况下,这会给出正确的结果,但不能保证。
因为表中可能有 100k 到 500k 条目,所以我想考虑性能。
你有什么建议?
最佳答案
试试这个
SELECT ID, VALUE, TIMESTAMP
FROM table
GROUP BY ID
HAVING MAX(TIMESTAMP)
ORDER BY TIMESTAMP DESC ;
或者
SELECT ID, VALUE, TIMESTAMP
FROM table
GROUP BY ID
ORDER BY TIMESTAMP DESC ;
关于mysql - 在一列上不同但检索所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726820/