Извлечение определенных строк из таблицы в Oracle - PullRequest
0 голосов
/ 02 мая 2018

Я хочу написать запрос, который будет извлекать мне первые и последние 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 голосов
/ 02 мая 2018

Попробуйте это.

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

Попробуйте сейчас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...