You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从MySQL中查询对应最新时间戳的记录?

获取最新时间戳对应的SQL记录解决方案

你的原SQL语句返回所有数据的原因是CURRENT_TIME仅返回当前时间部分(如 HH:MM:SS),而你的时间戳列是包含日期的完整datetime类型。数据库会自动将CURRENT_TIME隐式转换为带当前日期的datetime值,比如当前时间是上午9点,条件就变成column name > '202X-XX-XX 09:00:00'——如果你的所有记录时间都晚于这个时间,自然会返回全部数据。

以下是几种可行的解决方案:

方案1:排序后取第一条(通用多数数据库)

通过将记录按时间戳降序排序,取排序后的第一条,就是最新的记录:

SELECT data
FROM table
ORDER BY `column name` DESC  -- 列名含空格需用反引号包裹,SQL Server用[],PostgreSQL用""
LIMIT 1;

方案2:SQL Server 专用写法

SQL Server 不支持LIMIT,改用TOP 1:

SELECT TOP 1 data
FROM table
ORDER BY [column name] DESC;

方案3:Oracle 专用写法

Oracle 需要通过子查询结合ROWNUM实现:

SELECT data
FROM (
    SELECT data
    FROM table
    ORDER BY "column name" DESC
)
WHERE ROWNUM = 1;

方案4:匹配最大时间戳(适合多条记录同属最新时间的场景)

如果存在多条记录拥有相同的最新时间戳,这个方案会返回所有符合条件的记录:

SELECT data
FROM table
WHERE `column name` = (SELECT MAX(`column name`) FROM table);

内容的提问来源于stack exchange,提问作者shashank Bharadwaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 00:20:14