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

Oracle SQL如何为表新增列存储同Keyword分组下的下一条Created_Date值

Oracle SQL 同分组取相邻下一行时间实现方案

你需要的效果可以直接用Oracle内置的LEAD分析函数实现,不需要关联子查询,性能更好,语法也简洁。

假设你的表名为your_table_name,替换为实际表名即可使用如下查询:

SELECT
  Keyword,
  Created_Date,
  LEAD(Created_Date) OVER (
    PARTITION BY Keyword
    ORDER BY Created_Date
  ) AS Next_Created_Date
FROM your_table_name;

各参数作用说明:

  • PARTITION BY Keyword:指定按照Keyword字段分组,每个分组内的计算互不干扰
  • ORDER BY Created_Date:指定每个Keyword分组内的排序规则,按照创建时间升序排列,保证“下一条”是时间更晚的记录
  • LEAD(Created_Date):取同一分组内、排序后当前行的下一行的Created_Date值,分组的最后一行没有下一行时,默认返回NULL

如果需要给最后一行的Next_Created_Date设置自定义默认值,可以给LEAD传第三个参数,比如要设置为9999-12-31,写法如下:

LEAD(Created_Date, 1, DATE '9999-12-31') OVER (
  PARTITION BY Keyword
  ORDER BY Created_Date
) AS Next_Created_Date

查询效果示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:15:01