您的位置:首页 > 数据库 > Oracle

关于rownum 的用法

2006-05-21 14:01 351 查看
取出结果集的80到100的SQL语句
<SCRIPT type=text/javascript>

<!--

google_ad_client = "pub-0139896083561460";

google_ad_width = 336;

google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text";
google_ad_channel ="";

google_color_border = "870100";
google_color_bg = "FFFFFF";
google_color_link = "0033FF";
google_color_url = "999999";
google_color_text = "FF0099";

//-->
</SCRIPT>
ORACLE处理每个结果集只有一个ROWNUM字段标明它的逻辑位置,并且只能是用ROWNUM〈100,不能是
<SCRIPT type=text/javascript>

<!--

google_ad_client = "pub-0139896083561460";

google_ad_width = 336;

google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text";
google_ad_channel ="";

google_color_border = "870100";
google_color_bg = "FFFFFF";
google_color_link = "0033FF";
google_color_url = "999999";
google_color_text = "FF0099";

//-->
</SCRIPT>
ROWNUM>80看不懂是什么意思啊?这个ROWNUM到底是什么东西?gt;>G敫呤种傅阋幌隆?hr>ORACLE内部操作
ROWNUM 
COUNT or COUNT STOPKEY 

[align=center][/align]
rownum只是去除数据的行号而已,可以使用<100,就是提取出前99行。
但是不能使用>80,实际上>n(n>0)都不行。
因为就相当于你取了一些数再从1开始加上个行号,怎么可能从2开始呢?
如果你要取80到100行的就用临时表解决。
[align=center][/align]
用子查询解决
例如
SELECT A.C1, A.TTT, A.DDD
  FROM (SELECT ROWNUM AS C1, TTT, DDD FROM TABLE WHERE ROWNUM < 100) A
 WHERE A.C1>80
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle sql