use*_*842 1 sql t-sql sql-server
我如何将一行中的值与下面的值进行比较..这对所有记录都是如此
EX.
Name Age
Ahmed 20
Marko 22
jouhn 18
mira 30
joi 19
Run Code Online (Sandbox Code Playgroud)
所以我想要结果:
Ahmed < Marko
Marko > jouhn
Jouhn < Mira
Mira > joi
Run Code Online (Sandbox Code Playgroud)
有谁可以帮我这个?
with t1 as
(
select t.*,
row_number() over (order by id) rn
from t
)
select t1.Name as Name1,
case when t1.Age>t2.Age
then '>'
when t1.Age<t2.Age
then '<'
else '='
end as SIGN,
t2.Name as Name2
from t1
join t1 as t2 on t1.rn+1 = t2.id ;
Run Code Online (Sandbox Code Playgroud)