如何以不同的顺序两次选择同一列

杜隆力量

这是我的问题。我需要在同一选择中以不同的方式订购同一列。首先升序,然后再降序。

例:

表格1

+--------+-----+
| Name   | Age |
+--------+-----+
| Coa    | 20  |
| Bami   | 12  |
| Alice  | 50  |
+--------+-----+

结果应为:

+------+-----+
| Age  | Age |
+------+-----+
| 12   | 50  |
| 20   | 20  |
| 50   | 12  |
+------+-----+

我希望同一列先命令升序,然后再降序。

我在尝试

询问

Select t1.age, t2.age
from table1 t1 
inner join table1 t2 
on t1.name=t2.name
order by t1.age asc, t2.age desc

但是结果是,两列的排序方式都相同。

有人知道如何解决这个问题吗?

戈登·利诺夫

这真是一个奇怪的要求。您可以使用row_number()和联接来做到这一点

select t1a.age, t1b.age
from (select t1.*, row_number() over (order by age asc) as seqnum
      from table1 t1
     ) t1a join
     (select t1.*, row_number() over (order by age desc) as seqnum
      from t1
     ) t1b
     on t1a.seqnum = t1b.seqnum
order by t1a.age;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章