oracle 如何查询指定记录行数的记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何查询指定记录行数的记录相关的知识,希望对你有一定的参考价值。

参考技术A select
*
from
(select
a.*,a.rownum
as
roid
from
table
a
order
by
2
desc/asc
)bwhere
b.roid
between
10
and
20这是oracle的写法,在子查询里可以根据你所需要的字段进行排序,然后选取10-20的或者别的你所需要的数据,其中rownum为关键字,所以需要在子查询里定义别名,然后在外层才能引用这个排序键值

如何快捷地查询Oracle中每个用户表的表名和行数?

某个用户的表的表名从数据字典表 user_tables 可以查到,虽然 user_tables 数据字典中也有表的行数 NUM_ROWS 字段,但除非你对该用户进行统计信息收集(运行 dbms_stat.gather_schema_stats()系统包)否则该字段要么没有值,要么值是过期的数据,不准确. 正确的做法是:对数据库用户进行统计信息收集后,立刻执行:
select table_name,num_rows from user_tables;
参考技术A dba权限下可以查询dba_tables,里面有个num_rows列
select
table_name,num_rows
from
dba_tables
where
...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先analyze下
analyze
table
xxx
compute
statistics;
参考技术B 用这个
select t.owner,t.table_name,t.num_rows from all_tables t
如果要指定某个用户的话加上
where owner='用户名'
我的数据库是oracle 11g和12c

以上是关于oracle 如何查询指定记录行数的记录的主要内容,如果未能解决你的问题,请参考以下文章

sql server和oracle中查询结果返回指定行数的语句

如何快捷地查询Oracle中每个用户表的表名和行数?

SQL查询一个表的总记录数的方法

如何获取记录集变量中查询返回的行数? [复制]

如何从特定数据库中检索具有行数的表名?

Oracle SQL Select 中的行数?