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

如何从数据库表中选取Last Modified Date为最大值的记录?

SQL筛选最后修改日期最大值记录解决方案

目标表示例
以上是目标表的样式示例,要筛选出Last Modified Date为最大值的记录需求完全可以实现,以下是不同场景对应的SQL写法:

  • 通用全数据库适配写法(会返回所有最后修改日期为最大值的记录,有多条符合条件的记录时全部返回):
SELECT * 
FROM 你的表名
WHERE `Last Modified Date` = (SELECT MAX(`Last Modified Date`) FROM 你的表名);

注意:列名包含空格时需要按数据库类型转义:MySQL用反引号`包裹,SQL Server用方括号[]包裹,Oracle用双引号""包裹。

  • 仅返回1条最新记录写法(即使存在多条相同最大修改日期的记录也仅返回第一条):

    1. MySQL/PostgreSQL 适配:
    SELECT *
    FROM 你的表名
    ORDER BY `Last Modified Date` DESC
    LIMIT 1;
    
    1. SQL Server 适配:
    SELECT TOP 1 *
    FROM 你的表名
    ORDER BY [Last Modified Date] DESC;
    
    1. Oracle 适配:
    SELECT *
    FROM 你的表名
    ORDER BY "Last Modified Date" DESC
    FETCH FIRST 1 ROW ONLY;
    
  • 高扩展性窗口函数写法(后续需要分组取每组最新记录时可直接调整):

WITH ranked_records AS (
    SELECT 
        *,
        ROW_NUMBER() OVER (ORDER BY `Last Modified Date` DESC) AS rn
    FROM 你的表名
)
SELECT * FROM ranked_records WHERE rn = 1;

如果后续需要按某字段分组取每组的最新修改记录,仅需在OVER子句中添加PARTITION BY 分组字段名即可,比如按用户ID分组取每个用户的最新记录,就调整为ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY Last Modified Date DESC)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:36:03