Đây là một cách để sử dụng tự tham gia và 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
Chỉnh sửa:Tôi nhận ra rằng điều này có thể được thực hiện bằng một truy vấn thay vì sử dụng union
.
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