怎样在查询中,限制反回的行数?请高手指教.
tableName : goods
goodsno goods_name price
1001 显示器 1200
1002 主板 1800
1003 硬盘 1500
1004 硬盘 1200
1005 中央处理器 1200
怎样在查询中,限制反回的行数?
降序排列后 我只想要前两条记录.
请指教,谢谢!
问题点数:20、回复次数:9Top
1 楼yjdn(人形机器)回复于 2005-06-04 14:48:03 得分 10
select * from (select * from goods order by price desc) a where rownum<3Top
2 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-06-04 16:03:45 得分 10
通过rownum限制:
select * from (select * from goods order by price desc) where rownum<=2Top
3 楼nicholasgunn(阿东子)回复于 2005-06-04 16:10:59 得分 0
rownum<=2 的效率比较高。Top
4 楼yjdn(人形机器)回复于 2005-06-04 16:55:42 得分 0
libin_ftsafe(子陌红尘)
--你也两版都混,呵呵Top
5 楼cchhbbggn(斌宏程)回复于 2005-06-04 18:57:40 得分 0
select top 2 * from (select * from goods order by price desc)Top
6 楼zsfww1205(努力学习oracle)回复于 2005-06-04 20:56:06 得分 0
select * from (select t.* ,row_number()over (order by price desc) seq from goods )
where seq <=2Top
7 楼bluecocoqd(小骗骗)回复于 2005-06-04 21:51:02 得分 0
select * from (select * from goods order by price desc) where rownum<=2;
select * from (select * from goods order by price desc) a where rownum<3;
select * from (select t.* ,row_number()over (order by price desc) seq from goods )
where seq <=2;
学习ing
Top
8 楼vondon(冯唐)回复于 2005-06-06 14:03:13 得分 0
select * from dqbm f where f.bm like '15____' AND rownum <3Top
9 楼heyixiang(子豚の愛人)回复于 2005-06-07 09:42:01 得分 0
PL/SQL中没有top 只能用rownum
不知道
select * from (select t.* ,row_number()over (order by price desc) seq from goods) a
where seq <=2
和
select * from (select * from goods order by price desc) a where rownum<=2
到底谁效率高?Top




