一个简单的select问题

fenfan8526 2005-09-06 11:44:14
在数据库中建了一个表
create table AA(id varchar2(10),num varchar2(10))
表中的数据:
1 1
9 9
3 3
4 4
6 6
2 2
7 7
5 5
8 8

如果用
select * from AA where rownum<6 order by id
取出的结果是
1 1
3 3
4 4
6 6
9 9

想取出
1 1
2 2
3 3
4 4
5 5
这样的结果
用嵌套语句可以这样写
select * from (select * from AA order by id asc) where rownum <6 order by id asc
请问不用嵌套查询的语句怎么写?
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifei32 2005-09-07
  • 打赏
  • 举报
回复
顶,learning
giantw 2005-09-06
  • 打赏
  • 举报
回复
这样写就可以:
select * from id<6
order by id;
rownum是从表的第一条开始取记录到rownum记录为止
acmly 2005-09-06
  • 打赏
  • 举报
回复
晕,还是嵌套了啊
acmly 2005-09-06
  • 打赏
  • 举报
回复
不用嵌套好像不行的
qiaozhiwei 2005-09-06
  • 打赏
  • 举报
回复
试试这个
SELECT A.* FROM
(SELECT * FROM AA ORDER BY ID) A
WHERE ROWNUM < 6
waterfirer 2005-09-06
  • 打赏
  • 举报
回复
不是已经用了Order By了吗,为什么结果不是最靠前的五个呢?
-------
先取出ROWNUM < 6的记录,再排序

楼主的语句不用嵌套恐怕不好做
hawklb 2005-09-06
  • 打赏
  • 举报
回复
SELECT * FROM AA WHERE ROWNUM < 6 ORDER BY ID ;

不是已经用了Order By了吗,为什么结果不是最靠前的五个呢?

谁帮忙解释一下?
sasacat 2005-09-06
  • 打赏
  • 举报
回复
要是记录不连续楼上这两位大约要傻眼了吧
starytx 2005-09-06
  • 打赏
  • 举报
回复
select * from AA where id<6 order by id

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧