这是我的问题。我需要在同一选择中以不同的方式订购同一列。首先升序,然后再降序。
例:
表格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] 删除。
我来说两句