簡體   English   中英

如何查找字段值為x且第二行為x + 1的兩行

[英]How to find two rows where a field value is x and 2nd row is x + 1

我有一個記錄列表(事務)。

我只希望能夠包含交易號具有連續值+1的行。 甚至不確定從哪里開始僅列出那些交易。 我可以按順序列出所有事務,但不能僅隔離事務值及其+1事務。 (請注意,並非所有交易值都是連續的)。

例如,

如果字段A的值為1,2,4,7,8,10,我希望腳本只列出1,2,7,8作為結果。

提前致謝。

您想要至少兩個連續值的組?

SELECT * FROM tab
QUALIFY 
   MIN(a) OVER (ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) = a - 1
OR MIN(a) OVER (ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) = a + 1

您可以嘗試這樣的事情:

select * from table as t1
where exists (
    select * from table as t2
    where t2.A = t1.A-1 or t2.A = t1.A+1
)
order by t1.A

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM