我该怎么做呢?
select top 1 Fname from MyTbl
在Oracle 11g?
我该怎么做呢?
select top 1 Fname from MyTbl
在Oracle 11g?
当前回答
Use:
SELECT x.*
FROM (SELECT fname
FROM MyTbl) x
WHERE ROWNUM = 1
如果使用Oracle9i+,您可以使用像ROW_NUMBER()这样的分析函数,但它们的性能不如ROWNUM。
其他回答
SELECT *
FROM (SELECT * FROM MyTbl ORDER BY Fname )
WHERE ROWNUM = 1;
使用Oracle 12c(2013年6月),您可以像下面这样使用它。
SELECT * FROM MYTABLE
--ORDER BY COLUMNNAME -OPTIONAL
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
Use:
SELECT x.*
FROM (SELECT fname
FROM MyTbl) x
WHERE ROWNUM = 1
如果使用Oracle9i+,您可以使用像ROW_NUMBER()这样的分析函数,但它们的性能不如ROWNUM。
你可以这样做
SELECT *
FROM (SELECT Fname FROM MyTbl ORDER BY Fname )
WHERE rownum = 1;
您也可以使用分析函数RANK和/或DENSE_RANK,但ROWNUM可能是最简单的。
select * from (
select FName from MyTbl
)
where rownum <= 1;