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

如何查询每个num对应的最新更新的code记录

实现方案

假设你的数据表名为your_table,可根据你使用的数据库版本选择以下两种实现方式:

方式1:窗口函数方案(支持MySQL 8.0+、PostgreSQL、Oracle、SQL Server等新数据库)

用ROW_NUMBER()按num分组后对created倒序排序,取每组排名第一的记录即可:

SELECT num, code, created
FROM (
    SELECT 
        num,
        code,
        created,
        ROW_NUMBER() OVER(PARTITION BY num ORDER BY created DESC) AS rank_num
    FROM your_table
) AS temp
WHERE rank_num = 1;

如果存在同一个num多条记录created完全相同的情况,把ROW_NUMBER()替换为RANK()可以保留所有最新时间的记录。

方式2:关联子查询方案(兼容所有数据库版本,包括MySQL 5.x等不支持窗口函数的旧版本)

先查出每个num对应的最大更新时间,再关联原表匹配对应的code值:

SELECT t1.num, t1.code, t1.created
FROM your_table t1
JOIN (
    SELECT num, MAX(created) AS latest_created
    FROM your_table
    GROUP BY num
) t2 ON t1.num = t2.num AND t1.created = t2.latest_created;

对应你的示例数据,最终查询结果如下:

numcodecreated
77895111122342021-05-13
12344623546562021-05-26
23548712325462021-05-03

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:33:00