top是不是sql server的关键字啊?我都混了,select top 10 在oracle里面好象不行,呵呵 听听大家怎么说。
to: jieson(三四五六七八层) 没错,所以才不得不采用子查询的方式,先在子查询中排序,然后再通过Oracle提供的rownum伪列来控制返回的数目。
这样不行吗? select * from yourtable where rownum <11 order by time_field [desc];
1、如果是先排序后取前10条记录,我同意SHENLENG的方法: select * from yourtable where rownum <11 order by time_field desc; 2、如果是先取出前10条记录,后对取出的数据再排序,我建议用临时表来实现是比较简单的
to : shenleng(冷雪) select * from yourtable where rownum <11 order by time_field 执行的结果是从yourtable表中取出10条记录(注意是没有order by time_field条件下取的!),然后再对这取出的10条记录order by time_field!
听听大家怎么说。
select * from yourtable where rownum <11 order by time_field [desc];
select * from yourtable where rownum <11 order by time_field desc;
2、如果是先取出前10条记录,后对取出的数据再排序,我建议用临时表来实现是比较简单的
select * from yourtable where rownum <11 order by time_field
执行的结果是从yourtable表中取出10条记录(注意是没有order by time_field条件下取的!),然后再对这取出的10条记录order by time_field!