如何反转序列

时间:2013-09-17 06:57:01

标签: sql sequence sequences

我的桌子

EMP_NO                 EMP_NAME   
---------------------- ---------- 
1                      ram        
2                      mohan      
3                      raju       
4                      santosh    
5                      nikil      
6                      praveen    
7                      manju      
8                      hari       
9                      kumar      
10                     hareesh    
11                     chndra     

我在emp_no上创建了序列(序列名称是sequence_1)。现在我想要查询序列是从上面的最大值(11)开始,然后将序列减少到(1)

我的预期结果是

EMP_NO                 EMP_NAME   
---------------------- ---------- 
11                      ram        
10                     mohan      
9                     raju       
8                      santosh    
7                      nikil      
6                      praveen    
5                      manju      
4                      hari       
3                      kumar      
2                     hareesh    
1                     chndra     

为了这个目的,请提前询问。谢谢

3 个答案:

答案 0 :(得分:1)

select * from emp order by emp_no desc;

答案 1 :(得分:0)

对于Sql Server

Select Row_Number() Over(Order By [EMP_NO] Desc) as Emp_No,
       EMP_NAME  
       from TableName
       Order By [Emp_No] Desc

Sql Fiddle Demo

对于Oracle Sql Developer

Select Row_Number() Over(Order By "EMP_NO" Desc) as "Emp_No",
       "EMP_NAME"  
       from Table1
       Order By "Emp_No" Desc

Sql Fiddle Demo

答案 2 :(得分:0)

select (select max(emp_no) from emp)-emp_no+1,emp_name from emp