假如我有一个表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条,求解啊。。
4 回答
繁花不似锦
TA贡献1851条经验 获得超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
- 4 回答
- 0 关注
- 1409 浏览
添加回答
举报
0/150
提交
取消