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

如何编写SQL查询按用户最新timestamp获取对应多行数据

SQL查询方案

前提说明

你已经提前存储了各用户对应的最新timestamp值,不需要SQL自行计算每个用户的最大时间,仅需要匹配查询。

方案1:已有(user, 最新timestamp)键值对集合

直接用多字段IN匹配实现批量查询,写法如下:

SELECT id, testcase_id, `user`, `timestamp`
FROM 你的表名
WHERE (`user`, `timestamp`) IN (
    ('abbc', '2013-01-13 15:00:00'),
    ('pbbb', '2013-01-13 15:05:00'),
    ('dddd', '2013-01-13 15:05:00')
    -- 批量追加其他用户和对应最新timestamp的组合即可
);

注意:user和timestamp属于SQL保留关键字,用反引号包裹可避免语法报错。该写法天然支持同一timestamp对应多个用户的场景,匹配逻辑为用户+时间同时匹配,不会捞取其他用户同时间的错误记录。

方案2:用户最新timestamp存储在单独的表中

假设存储最新时间的表名为user_latest_ts,包含user、latest_timestamp两个字段,用关联查询实现:

SELECT t.id, t.testcase_id, t.`user`, t.`timestamp`
FROM 你的表名 t
INNER JOIN user_latest_ts u 
ON t.`user` = u.`user` AND t.`timestamp` = u.latest_timestamp;

以上两种方案针对你给出的样例数据,都会返回id为1、2、3的三行预期记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:54:03