我有一个包含行和变量a=3的SQL表,我想查找所有具有>=3差异的数字。在第一步,我需要取第一行,然后找到下一行,差异将是>=a (3)。这是5。然后是12。现在从12开始,需要找到差值为>= a (3)的最近的直线。是15,以此类推。我想得到包含数字的最终表格: 1,5,12,15,20,30
|number|
|------|
| 1 |
| 5 |
| 12 |
| 13 |
| 14 |
| 15 |
| 20 |
| 21 |
| 30 |发布于 2021-11-16 07:52:34
使用自联接:
select a.number
from mytable a
left join mytable b on b.number <= a.number + 3
and a.number < b.number
where b.number is null此操作仅从a中选择未连接到大于a.number但小于a.number +3的数字的行
代码稍微少一点,但可能会更迟钝:
select a.number
from mytable a
left join mytable b on b.number - a.number between 1 and 3
where b.number is nullhttps://stackoverflow.com/questions/69985462
复制相似问题