﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-yuyee-随笔分类-oracle</title><link>http://www.blogjava.net/yuyee/category/46760.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 26 Oct 2010 16:42:42 GMT</lastBuildDate><pubDate>Tue, 26 Oct 2010 16:42:42 GMT</pubDate><ttl>60</ttl><item><title>oracle中的递归查询</title><link>http://www.blogjava.net/yuyee/archive/2010/10/25/336098.html</link><dc:creator>羔羊</dc:creator><author>羔羊</author><pubDate>Mon, 25 Oct 2010 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/yuyee/archive/2010/10/25/336098.html</guid><description><![CDATA[start with .... connect by prior.....，如果prior缺省，则只能查询符合条件的起始行，并不能递归
<div>从root到末梢：select * from permissiontable t start with parentid=1 connect by prior id=parentid</div>
<div>从末梢到root:select * from permissiontable t start with id=32 connect by prior parentid=id</div>
<img src ="http://www.blogjava.net/yuyee/aggbug/336098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yuyee/" target="_blank">羔羊</a> 2010-10-25 15:55 <a href="http://www.blogjava.net/yuyee/archive/2010/10/25/336098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle分组取值</title><link>http://www.blogjava.net/yuyee/archive/2010/10/25/336096.html</link><dc:creator>羔羊</dc:creator><author>羔羊</author><pubDate>Mon, 25 Oct 2010 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/yuyee/archive/2010/10/25/336096.html</guid><description><![CDATA[oracle中有rownum伪列，select rownum from t where rownum&lt;3;表示取整个结果集的前2条记录
<div>当时如果要取分组后每个组里的前几条记录，则rownum无法实现，必须使用oracle里的分析函数，比如row_number()over(partition by 分组字段 order by 排序字段),实现分组后编号</div>
<div>
<div><br />
</div>
<div>select s.*</div>
<div>&nbsp;&nbsp;from (select row_number() over(partition by p.trader order by p.branch) &nbsp;rn,p.*</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from spotdeal p) s</div>
<div>&nbsp;where s.rn &lt; 3</div>
</div>
<img src ="http://www.blogjava.net/yuyee/aggbug/336096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yuyee/" target="_blank">羔羊</a> 2010-10-25 15:39 <a href="http://www.blogjava.net/yuyee/archive/2010/10/25/336096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>