Как в DBForge вывести только одну строчку

Как в DBForge вывести только одну строчку. Ни TOP 1, ни LIMIT 1 не работает

СУБД Oracle


Ответы (1 шт):

Автор решения: SwaD

Что бы вывести 1 или несколько первых строк запроса в Oracle, надо задать ограничение в where

Первая строка

select * from my_table where rownum = 1

Первые 10 строк

select * from my_table where rownum > 11

Надо так же учитывать, что это ограничение работает наравне с остальными условиями where и до сортировки

Если надо выбрать какие то значения из БД по фильтру и потом взять первую строку, то надо использовать вложенный запрос

select * from (
    select * from my_table 
    where field1 = 2 and field2 = 3
    order by field3 DESC
)
where rownum = 1

Так же можно обойтись без вложенных запросов при сортировке, используя FETCH FIRST

select * from my_table
where field1 = 2 and field2 = 3
order by field3 ASC 
FETCH FIRST 1 ROWS ONLY
→ Ссылка