我的表的结构是这样的:
name T_QuickLink
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------- ID NOT NULL NUMBER(18)
NAME NVARCHAR2(20)
NOTE NVARCHAR2(50)
IMAGEURL NVARCHAR2(300)
LINKURL NVARCHAR2(300)
TYPE NVARCHAR2(1)
ORDERNO NUMBER(4)
select orderno from T_Quicklink where rownum<=10 order by orderno;
这句话不能正确的选择出前10条记录,郁闷,为什么?
select orderno from T_Quicklink order by orderno;
这样却能正确排序,why?
name T_QuickLink
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------- ID NOT NULL NUMBER(18)
NAME NVARCHAR2(20)
NOTE NVARCHAR2(50)
IMAGEURL NVARCHAR2(300)
LINKURL NVARCHAR2(300)
TYPE NVARCHAR2(1)
ORDERNO NUMBER(4)
select orderno from T_Quicklink where rownum<=10 order by orderno;
这句话不能正确的选择出前10条记录,郁闷,为什么?
select orderno from T_Quicklink order by orderno;
这样却能正确排序,why?
select orderno from T_Quicklink where rownum <=10 order by orderno;
这句话不对吗?对id字段却可以,这样
select id from t_quicklink where rownum<=10 order by id;
这句可以,为什么?还是我插入的数据有问题
select orderno from T_Quicklink order by orderno)
where rownum<=10;
from (select rownum, orderno from T_Quicklink order by orderno)
where rownum <= 10;
select orderno from T_Quicklink where rownum <=10 order by orderno;
下面这句之的以能正确排序,估计是你的id列的值在数据表里是按小到大的顺序,所以感觉是正确的.
select id from t_quicklink where rownum <=10 order by id;
要实现你想要的结果,应该这么写SQL:
select orderno
from (select orderno from T_Quicklink order by orderno)
where rownum <= 10;