字段类型的问题,你表里字段的数据是数字,但是字段类型应该不是,将字段类型转换为数字,直接排序就可以了
select
from
表名
t
order
by
to_number(字段名)
desc
可以用rownum来查询
例如:select from 用户名表名 where rownum <= 100则查询前100条数据,oracle会根据查询结果筛选前100条,记得如果增加查询条件,oracle首先会根据查询条件进行筛选,然后再取前100条,而不是筛选100条后才根据查询条件进行筛选
1、先查询本库的所有表,测试sql,select from user_tables t where table_name like 'TEST%';可以看到有多张表;
2、查询一共有几张数据表,
select count() from user_tables t where table_name like 'TEST%';
3、编写脚本,查询TEST开头表,每个表的记录数,
declare
v_sql varchar2(200);
v_cnt number(10);
begin
for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop
v_sql := 'select count() from '|| v_tabtable_name;
execute immediate v_sql into v_cnt;
dbms_outputput_line(v_tabtable_name||':'||v_cnt);
end loop;
end;
4、执行该sql,在输出窗口,可以看到每个表的输出结果,
TEST_A:4
TEST_CERTNO:6
TEST_CLASS:4
TEST_COL_1:20
TEST_COL_2:100
TEST_CONNECT:4
TEST_DATE:0
TEST_DATE_1:199
TEST_DATE_2:99
TEST_JOB:6
TEST_LOCK:2
TEST_LOG:999
TEST_MID:328
TEST_SALESSTATISTICS:9999
TEST_STUDENT:6
TEST_SUBSTR:4
TEST_UPDATE:3
TEST_UP_A:6
TEST_UP_B:3
TEST_UP_LIKE:6
oracle分页查询 为什么第一页显示第1条,第10条第100条及以后数据
1、通常的分页写法,也是第一种分页方法,类似如下方式:
select from (
select a, rownum rn from
(select from test a order by object_name) a
where rownum <=1000)
where rn > 990;
这种方式,是对表进行排序翻页,比较常见,但是,第一页与第1000页的性能差异还是挺明显的。
2、第二种的分页写法是对索引进行翻页 *** 作,然后根据rowid 去表中取数据。 这种方式,第一页与第1000页性能相差不大。
以下语句虽然使用HINT指定使用索引, 但是仍然没有生效。
select b from (
select from (
select a, rownum rn from
(select /+ index(a ix_object_name) / rowid rid from test a order by object_name) a
where rownum <=20)
where rn > 10) a, test b
where arid = browid;
各个数据库的方法并非一样Mysql:
SELECTFROMtblLIMIT0,100;SQL Server:
SELECTFROMtblWHEREidIN(SELECTTOP100idFROMtbl);Oracle:
SELECTFROMtblWHERErownum<=100
参考资料
CSDNCSDN[引用时间2018-1-8]
以上就是关于oracle SQL查询语句:查询结果安装降序排列,只显示第100-200行的数据全部的内容,包括:oracle SQL查询语句:查询结果安装降序排列,只显示第100-200行的数据、请问一下oracle中,如何实现查询前几条记录、如何在oracle中查询每个表的记录条数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)