在PLSQL中怎么能取到表中按ID降序排列的前十条记录???

我的语句如下:select*fromtestorderbyiddesclimit10;或者selecttop10*fromtestorderbyiddesc;但是这两条语... 我的语句如下:select * from test order by id desc limit 10;或者 select top 10 * from test order by id desc; 但是这两条语句我执行了怎么系统老报脚本未正确结束的错误。。。我想确定两个问题: 1. 这两条语句是否适用于PL/SQL? 2.如果不适用那么还有其它更好的语句么? 请教高人指点!十分感谢~~ 展开
 我来答
帐号已注销
高粉答主

2020-01-17 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:36.9万
展开全部

在PLSQL中怎么能娶到表中按ID降序排列的前十条记录的sql语句是:

select rownum,t.* from (select * from test order by id desc) t where rownum<11;

PLSQL是连接的oracle数据库,oracle中没有limit(limit是mysql中的用法)、top(top是sqlserver)关键字,oracle中限制行数条件是用rownum。

PL/SQL主要用于数据库编程,所以其所有的数据类型跟Oracle数据库里的字段类型是一一对应的,大体分为数字型、布尔型、字符型和日期型。这里简单介绍两种常用数据类型:number、varchar2。

number,用来存储整数和浮点数。范围为1e130~10e125,其使用语法为:number[(precision, scale)]其中(precision, scale)是可选的,precision表示所有数字的个数,scale表示小数点右边数字的个数。

varchar2用来存储变长的字符串,其使用语法为:varchar2[(size)]其中size为可选,表示该字符串所能存储的最大长度。

在PL/SQL中声明变量与其他语言不太一样,它采用从右往左的方式声明,比如声明一个number类型的变量v_id,那其形式应为:

v_id number,如果给上面的v_id变量赋值,不能用“=”,应该用“:=”,即形式为:v_id :=5;

扩展资料


对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依次类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。

1、rownum 对于等于某值的查询条件,例如:

SQL> select rownum,id,name from student where rownum=1;

SQL> select rownum,id,name from student where rownum =2;

2、rownum对于大于某值的查询条件,例如

SQL>select * from(select rownum no ,id,name from student) where no>2;

3、rownum对于小于某值的查询条件,rownum对于rownum<n((n>1的自然数)的条件认为是成立的,所以可以找到记录。

帐号已注销
2019-07-13 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:6121
展开全部

在PLSQL中怎么能取到表中按ID降序排列的前十条记录的sql语句是:

select rownum,t.* from (select * from test order by id desc) t where rownum<11;

PLSQL是连接的oracle数据库,oracle中没有limit(limit是mysql中的用法)、top(top是sqlserver)关键字,oracle中限制行数条件是用rownum。


扩展资料

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。

1、rownum 对于等于某值的查询条件,例如:

SQL> select rownum,id,name from student where rownum=1;

SQL> select rownum,id,name from student where rownum =2;

2、rownum对于大于某值的查询条件,例如

SQL>select * from(select rownum no ,id,name from student) where no>2;

3、rownum对于小于某值的查询条件,rownum对于rownum<n((n>1的自然数)的条件认为是成立的,所以可以找到记录,例如

SQL> select rownum,id,name from student where rownum <3;

4、rownum和排序  

SQL> select rownum ,id,name from student order by name;

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-24
展开全部
1.limit关键字是mysql中的,top关键字是ms sqlserver中的,pl/sql是oracle的客户端工具,这两个关键字在这里不适用。
2.select rownum,a.* from (select * from test order by id desc) a where rownum<10;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-18
展开全部
select * from test where rownum <= 10order by id desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式