Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich alle sequentiellen Blöcke aus einer Liste

Dies ist eine Möglichkeit mit Self-Join und union .

select t1.val
from t t1
join t t2 on t1.val = t2.val-1
union
select t2.val
from t t1
join t t2 on t1.val = t2.val-1
order by 1

Bearbeiten:Mir wurde klar, dass dies mit einer einzigen Abfrage erfolgen könnte, anstatt union zu verwenden .

select distinct t1.val
from t t1
join t t2 on t1.val = t2.val-1 or t1.val = t2.val+1
order by 1