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

如何编写SQL查询获取全数据集最大日期并新增为字段?

获取全局最大日期并作为新增字段返回的SQL方案

要实现全局最大日期的字段追加,不需要按分区分组,有两种简洁的方案:

方案1:使用无分区的窗口函数

通过MAX()窗口函数并省略PARTITION BY子句,让窗口覆盖整个数据集,直接计算全局最大日期:

SELECT
    ID,
    Name,
    Date,
    MAX(Date) OVER () AS "MAX DATE"
FROM your_table;

这种方法性能高效,仅需扫描一次表即可完成计算,适合大数据量场景。

方案2:使用子查询计算全局最大值

通过子查询单独获取整个表的最大日期,再与原表所有行关联:

SELECT
    t.ID,
    t.Name,
    t.Date,
    (SELECT MAX(Date) FROM your_table) AS "MAX DATE"
FROM your_table t;

这种写法逻辑直观,适合对窗口函数不熟悉的场景,部分数据库优化器会根据策略自动优化扫描次数。

两种方案都能得到你期望的输出:每一行都会带上整个数据集的最大日期,而非分组后的局部最大值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:50:35