从Oracle中的表中提取特定行

时间:2018-05-02 10:34:38

标签: sql oracle

我想写一个查询,它会从表中获取第一个和最后3个记录

以下是表格详情

select * from employee_src

Table1 Image

现在我要使用以下查询获得上述结果

select fname,lname,ssn,salary,dno from employee_src where rownum <=3
union all
select fname,lname,ssn,salary,dno  from (select fname,lname,ssn,salary,dno from employee_src order by rownum desc) where rownum <=3

在运行此查询时,我得到以下结果

Table2 Image

即使我获得前3行和后3行,但最后3行不是原始表中的顺序。如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

试试这个。

select * from (select  * from employee_src order by rownum Asc) where rownum <= 3
union all 
select *, from ( select  *  from employee_src from dual order by rownum desc
                    ) as employee_src_last3 
                    where rownum <= 3

立即尝试......