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

无需子查询从SQL表中获取最大日期对应的记录

提取最大日期记录的无方子查询方案

假设你的表包含id、name、date_col(建议避免用DATE作为字段名,防止关键字冲突)三个字段,以下是几种不使用子查询的实现方式:

方法1:窗口函数筛选(支持MySQL 8.0+、PostgreSQL、SQL Server等)

利用全局窗口函数直接获取最大日期,匹配筛选目标记录:

SELECT id, name, date_col
FROM your_table
WHERE date_col = MAX(date_col) OVER();

方法2:排序取首条(仅单条最大日期记录场景适用)

如果确认最大日期对应的记录唯一,可通过排序后截取第一条:

SELECT id, name, date_col
FROM your_table
ORDER BY date_col DESC
LIMIT 1;

注意:若存在多条共享最大日期的记录,此方法仅返回其中一条,不适用多记录场景。

方法3:自连接筛选(兼容旧版无窗口函数的数据库)

通过自连接找出没有更大日期的记录,即为最大日期记录:

SELECT t1.id, t1.name, t1.date_col
FROM your_table t1
LEFT JOIN your_table t2 ON t1.date_col < t2.date_col
WHERE t2.date_col IS NULL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:30:43