在没有键的情况下在多个记录之间拆分值。顺序是连续的。
当前SQL表内容:
RowNum Value
1 10343
2 20784
3 34523
4 22415
5 31245
6 11345
7 24588
8 32946我希望返回组合了两个连续记录的行,但只返回那些值以2和3开头的行。没有公共列值可供分组。
期望的结果:
RowNums Values
2-3 20784, 34523
4-5 22415, 31245
7-8 24588, 32946发布于 2021-08-26 19:50:49
您可以使用lead()
select concat(rownum, '-', next_rownum) as rownums,
concat(value, ', ', next_value) as values
from (select t.*,
lead(rownum) over (order by rownum) as next_rownum,
lead(value) over (order by value) as next_value
from t
) t
where value like '2%' and next_value like '3%';这使用标准SQL语法。根据您的数据库,可能会有一些变化。
https://stackoverflow.com/questions/68944554
复制相似问题