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

SQL语法问题:自连接转PARTITION BY后添加指定条件的方法

正确添加长度差条件的自连接查询

没问题,我来帮你把这个长度差条件正确加到你的自连接查询里。你只需要把AND ABS(t1.[t_Length] - t2.[t_Length]) <= 1这个条件追加到自连接的ON子句后面(如果原查询有其他连接条件的话),这样就能精准过滤出长度差值绝对值不超过1的记录对了。

下面是符合需求的等效自连接查询示例:

-- 假设你的原Query2是基于目标表做自连接
SELECT t1.*, t2.*
FROM YourTable t1
INNER JOIN YourTable t2
  -- 保留你原Query2中的自连接基础条件(比如避免同一条记录自匹配)
  ON t1.[ID] <> t2.[ID]
  -- 新增的长度差过滤条件
  AND ABS(t1.[t_Length] - t2.[t_Length]) <= 1
-- 若有全局过滤需求,可在此添加WHERE子句

效果说明

这个条件会精准实现你的预期:

  • 当t1.t_Length和t2.t_Length的差值为0、1或-1时,两条记录会被成功匹配
  • 差值绝对值大于1的记录对会被自动排除

比如示例数据中存在长度为3、4、5的记录时,长度3会匹配4,长度4会匹配3和5,长度5会匹配4,完全对应你要的预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:38:11