在多条记录之间分割值,而不使用键连接它们。顺序依次。
当前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
您可以使用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语法。根据您的数据库,可能会有变化。