1

我如何将一行中的值与下面的值进行比较 .. 这适用于所有记录

EX.
Name      Age
Ahmed     20
Marko     22
jouhn     18
mira      30
joi       19

所以我想要结果:

Ahmed < Marko
Marko > jouhn
Jouhn < Mira
Mira  > joi

有人可以帮我吗?

4

1 回答 1

5

SQLFiddle 演示

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 ;
于 2012-12-27T08:21:50.990 回答