【发布时间】:2018-06-18 23:37:49
【问题描述】:
使用 SQL 查询,我们如何获得 2 列的输出,第一列是按 asc 顺序排序的列,第二个是按 desc 顺序排序的列,两者都是相同的列。
例如:
emp table:
empid
1
5
9
4
查询输出应该是
empid_1 empid_2
1 9
4 5
5 4
9 1
到目前为止 OP 尝试了什么
WITH emp1
AS (SELECT ROWNUM a,
empno
FROM (SELECT empno
FROM emp
ORDER BY 1 ASC)),
emp2
AS (SELECT ROWNUM b,
empno
FROM (SELECT empno
FROM emp
ORDER BY 1 DESC))
SELECT emp1.empno,
emp2.empno
FROM emp1,
emp2
WHERE emp1.a = emp2.b;
【问题讨论】:
-
@visakh: 以下是我尝试使用 emp1 as( select rownum a, empno from (select empno from emp order by 1 asc) ), emp2 as ( select rownum b, empno from ( select empno from emp order by 1 desc) ) select emp1.empno, emp2.empno from emp1, emp2 where emp1.a = emp2.b;
-
请修改问题而不是评论。