Как в 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