Mysql,在最大条件下选择行并显示相关列

Mysql,在最大条件下选择行并显示相关列,mysql,Mysql,我有 这返回了数据上的max id,但时间戳似乎与行不匹配。我得到 select max(id), timestamp from mytable; 这是正确的max id,但时间戳属于不同的记录 +----------+--------------------------+ | max(id) | from_unixtime(timestamp) | +----------+--------------------------+ | 1429517 | 2015-01-01 00:00:15

我有

这返回了数据上的max id,但时间戳似乎与行不匹配。我得到

select max(id), timestamp from mytable;
这是正确的max id,但时间戳属于不同的记录

+----------+--------------------------+
| max(id) | from_unixtime(timestamp) |
+----------+--------------------------+
|  1429517 | 2015-01-01 00:00:15      |
+----------+--------------------------+

ie使用子查询获取
max(id)
,然后从表中获取相应的数据。

您可以使用
order by
limit
执行此操作:

SELECT id, timestamp FROM mytable
WHERE id = (SELECT MAX(id) FROM mytable)

如果在
id
id
/
timestamp

上有索引,这应该是非常有效的。您想要引用max id的时间戳吗?是的,我想要属于max id的记录的时间戳id@Rahul回答了你需要做的事情!他比我快X是的,这很有效,但有点惊讶,它不能在一个选择中完成。我喜欢这个答案,因为我想知道它是否可以在一个选择中完成,虽然可能需要DESC在那里<代码>从mytable ORDER中选择id,时间戳按id描述限制1否则似乎会得到最小值value@area5one:-是的,您需要有DESC,否则默认为ASC,并给出最小结果。
SELECT id, timestamp
FROM mytable
ORDER BY id DESC
LIMIT 1;