Как мне сделать топ 1 в Oracle?

Как мне сделать следующее?

select top 1 Fname from MyTbl

В Oracle 11g ?

233
задан a_horse_with_no_name 26 August 2016 в 00:03
поделиться

4 ответа

Если вам нужна только первая выбранная строка, вы можете:

select fname from MyTbl where rownum = 1

Вы также можете использовать аналитические функции, чтобы упорядочить и взять верхний x:

select max(fname) over (rank() order by some_factor) from MyTbl
247
ответ дан 23 November 2019 в 03:32
поделиться
SELECT *
  FROM (SELECT * FROM MyTbl ORDER BY Fname )
 WHERE ROWNUM = 1;
154
ответ дан 23 November 2019 в 03:32
поделиться
select * from (
    select FName from MyTbl
)
where rownum <= 1;
7
ответ дан 23 November 2019 в 03:32
поделиться

Использование:

SELECT x.*
  FROM (SELECT fname 
          FROM MyTbl) x
 WHERE ROWNUM = 1

При использовании Oracle9i + , вы можете посмотреть на , используя аналитические функции, такие как ROW_NUMBER (), но они не будут работать так же хорошо, как ROWNUM .

5
ответ дан 23 November 2019 в 03:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: