在Oracle中怎样查询前10条记录?

在Oracle中怎样查询前10条记录?,第1张

根据时间条件排序,取前十条和后十条。

1、有时间字段, 根据时间条件排序,取前十条和后十条

(1)前十条:

select * from (select * from tab_name a order by date_col )

where rownum<11

(2)后十条:

select * from (select * from tab_name a order by date_col  desc)

where rownum<11

2、没有时间字段, 直接根据物理存储顺序,取前十条和后十条

(1)前十条:

select * from (select * from tab_name a order by rownum)

where rownum<11

(2)后十条:

select * from (select * from tab_name a order by rownuml  desc)

where rownum<11

sql 查询出结果让它只显示前十条数据可以通过top关键字。语句格式为 SELECT TOP 10 <列名表>FROM <表名>[查询条件]。TOP关键字在SQL语言中用来限制返回结果集中的记录条数,有两种使用形式,其中一种是TOP关键字后带数字,表示要返回结果集中的记录条数。

扩展资料:

TOP关键字的另一种使用形式,是TOP关键字后带百分比数,表示要返回结果集中指定百分比的记录数。语法格式为SELECT TOP n PERCENT <列名表>FROM <表名>[查询条件]。

TOP关键字对于拥有数千条记录的大型表来说,是非常有用的。在具体使用过程中,也可以结合条件子句和排序子句(如何进行排序)等实现较为丰富的功能。注意的是,并非所有的数据库系统都支持 TOP 关键字。

1、sql查询前10条数据:

select top 10  * from tablename where 1=1;1

2、oracle查询前10条数据:

select * from tablename where rownum<=101

oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:

================================

rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.

select * from tablename where rownum<=101

rownum也可以实现数据分页查询:

SELECT *

FROM (SELECT a.*, ROWNUM rn

FROM tablename a)

WHERE rn >= 10 AND rn <= 201234567

这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9610240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存