SQL查询排序后前20条语句

假如我有一个表A,里面有一个普通字段A和时间字段B,使它按时间排序后筛选出前20条记录,求解各位大侠SQL怎么写,数据库是ORACLE的。
上面问题有点错,

假如我有一个表A,里面有一个普通字段C,D和时间字段B,使它按C="xxx"筛选得出的结果按时间排序后筛选出前20条记录,

select C,D,B from A where C="XXX" and rownum <= 20 order by B;
的出的结果并不是按
select C,D,B from A where C="XXX" order by B;
语句查出来的前20条,求解啊。。

第1个回答  2013-11-28
select *
from 表A

order by 时间字段B

limit 20追问

你说的MySql吧,ORACLE里面是不支持limit和top的。

追答

SELECT A, B FROM
(SELECT A, B, ROWNUM as RID FROM A ORDER BY B)
WHERE RID <= 20

第2个回答  2013-11-28
select top 10 A from 表A order by B追问

不是SQL SERVER,是ORACLE。不支持top关键字

追答

select A from 表A rownum<10 order by B 好像有点问题 不知道是不是少了个where 好久没摸oracle 了