oracle sql查询前50个记录 我的语句是select top 50 * from table order by id desc;

提示错误 oracle 的语法难道跟其他sql语法不一样
[Err] ORA-00923: 未找到要求的 FROM 关键字

oracle没有top的语法,限制记录数都是使用rownum < N或者rownum <= N的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-26
top是sql server里的语法,oracle里面用where rownum<=50
第2个回答  2012-10-31
应该是 select * from table where rownum<=50
第3个回答  2012-10-31
select * from (select * from table order by id desc) rownum<=50;追问

谢谢 小弟才疏学浅 是不是oracle 没有 top语句

追答

貌似没有

本回答被提问者和网友采纳

...我的语句是select top 50 * from table order by id desc;
oracle没有top的语法,限制记录数都是使用rownum < N或者rownum <= N的。

Oracle查询前几条数据的方法
在Oracle数据库中,由于缺乏直接的`select top`语句支持,通常采用`order by`和`rownum`的结合来实现类似功能。基本的查询策略是首先对表中的数据按指定列进行排序,然后通过`rownum`变量限制返回的记录数。以下是一个直观的解释:在Oracle中,当需要查询前几条数据时,通常采用以下步骤:首先,从指定表中...

Oracle查询前几条数据的方法
由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询。简单地说,实现方法如下所示:select 列名1 ...列名n from(select 列名1 ...列名nfrom 表名 order by 列名1)where rownum <=N(抽出记录数)order by rownum asc如:select id,name fr...

SQL查询已经排序好的数据中的前几条
使用 select top 5 * from table order by id 时,报用select语句检索oracle数据库时出现ora-00923:未找到要求的from关键字。因为该SQL语句是在SQLServer中的使用的,如果是在 Oracle中,需要使用 rownm 这个关键字用来返回查询的记录条数。

用select语句检索oracle数据库时出现ora-00923:未找到要求的from关键...
"select top 5 * from table order by id"这个是SQL Server的语句,“top 5 *”的用法在Oracle中不被承认,应该改成"select * from table where rownum < 6 order by id"如例句,如果"from"写成"form"等等错误。也会报此错误。如例句,如果"select"写错,是报无效的SQL语句 如例句,如果table...

Oralce中 sql查询语句的问题
select t.id,t.title,t.createtimefrom(select id,title,createtime,row_number() over (order by createtime desc) rn from jjcjc) twhere rn <= 50 这样?

ORACLE SQL 查询 如何查询 某字段的 一个值 最大的前几个
--第一步,建立测试用表 create table sys.test_lcy(name varchar2(4),value integer );--第二步,检查表是否建立成功 select * from sys.test_lcy;--第三步,插入试验数据 insert into sys.test_lcy values ('我',21);insert into sys.test_lcy values ('我',22);insert into sys.test...

一个在ORACLE中查询前100条记录的语句怎么写
select * from table1 where rownum<=100 按某个字段排名捞取前100条数据 select* from 表名 where rownum<=100 order by 字段

数据库读取前几条记录的SQL语句大全
读取前10条:select top (10) * from table1 where 1=1 读取后10条:select top (10) * from table1 order by id desc 5、oracle:select * from table1 where rownum THEN PL\/SQL 和 SQL语句 END IF;IF THEN PL\/SQL 和 SQL语句 ELSE 其它语句 END IF;IF THEN PL\/SQL 和 SQL...

一个在ORACLE中查询前100条记录的语句怎么写
在ORACLE中查询前100条记录的语句的书写方法是:proc sql outobs=100;select * from table1;quit。用SAS写SQL就应该用它里面自带的一些功能,可能会更简单。查询一个表中所有字段都相同的记录: 比如现在有一人员表 (表名:peosons) 若想将姓名、编号、住址这三个字段完全相同的记录查询出来:...

相似回答