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

时间:2015-04-01 19:46:15

标签: mysql

我有

select max(id), timestamp from mytable;

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

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

这是正确的max-id,但时间戳属于不同的记录

2 个答案:

答案 0 :(得分:3)

试试这样:

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

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

答案 1 :(得分:2)

您可以使用order bylimit

执行此操作
SELECT id, timestamp
FROM mytable
ORDER BY id DESC
LIMIT 1;

对于idid / timestamp上的索引,这应该非常有效。