0
Oracle11g的如何在更改另一列排序顺序时保持rownum排序顺序?
我想ROWNUM出现在顺序(从小到大),而不管列的排序顺序。我可以通过通过子选择发送查询来实现此目的,如查询所示。
问题:是否有任何其他的方式来保持排序的rownum独立子句“按订单”的?
with alphabet as
(select 'A' as letters from dual union all
select 'B' as letters from dual union all
select 'C' as letters from dual)
select rownum, letters from
(select letters from alphabet
-- order by letters -- I can change the sort order here w/o changing rownum sort order.
order by letters desc)
如果我不这样做的分选,然后我ROWNUM各种各样的科拉姆排序是这样的:
with alphabet as
(select 'A' as letters from dual union all
select 'B' as letters from dual union all
select 'C' as letters from dual)
select rownum, letters from alphabet
order by letters desc -- sorting here alters the rownum sort.
尼斯
ORDER BY
匹配工作的排序顺序不分...如果我有一个更复杂的查询,按'A,B,C,D,E排序',并且想在其上添加一个row_number(),那么我需要确保row_number()部分镜像查询排序。 。例如'row_number()over(按A,B,C,D,E排序)..right? – zundarz 2013-02-26 18:47:44@zundarz - 正确。 – 2013-02-26 18:48:09