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条,求解啊。。

千巷猫影
浏览 1410回答 4
4回答

繁花不似锦

用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。SELECT C.D FROM (SELECT C,D,ROWNUM RN FROM (SELECT T.* FROM TABLE1 ORDER BY B DESC --降序) T1) WHERE RN <= 20
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server