<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How to solve the Find Maximum Possible Product Puzzle in SQL</title>
	<atom:link href="http://oraqa.com/2008/12/18/how-to-solve-the-find-maximum-possible-product-puzzle-in-sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://oraqa.com/2008/12/18/how-to-solve-the-find-maximum-possible-product-puzzle-in-sql/</link>
	<description>Oracle Question and Answer</description>
	<lastBuildDate>Tue, 06 Jul 2010 14:28:12 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: newkid</title>
		<link>http://oraqa.com/2008/12/18/how-to-solve-the-find-maximum-possible-product-puzzle-in-sql/comment-page-1/#comment-263</link>
		<dc:creator>newkid</dc:creator>
		<pubDate>Thu, 24 Jun 2010 18:56:40 +0000</pubDate>
		<guid isPermaLink="false">http://oraqa.com/?p=314#comment-263</guid>
		<description>This one is better in performance:
&lt;pre&gt;
SELECT n1, n2, product as MAX_PRODUCT
FROM
(SELECT max(n1 * n2 ) over ( ) max_product, n1, n2, n1 * n2 product
 FROM
 (
  WITH DATA AS
  (SELECT replace(sys_connect_by_path(num, &#039;,&#039;), &#039;,&#039;) str_num
   FROM (SELECT LEVEL num FROM dual CONNECT BY LEVEL &lt;10)
   WHERE LEVEL = 9
   START WITH num = 9
   CONNECT BY NOCYCLE PRIOR num != num
   AND LEVEL &lt;= 9
  )
  SELECT to_number(substr(str_num,1,rn)) n1, to_number(substr(str_num,rn+1)) n2
  FROM DATA,(SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM&lt;=8)
 )
)
WHERE max_product = product;
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>This one is better in performance:</p>
<pre>
SELECT n1, n2, product as MAX_PRODUCT
FROM
(SELECT max(n1 * n2 ) over ( ) max_product, n1, n2, n1 * n2 product
 FROM
 (
  WITH DATA AS
  (SELECT replace(sys_connect_by_path(num, ','), ',') str_num
   FROM (SELECT LEVEL num FROM dual CONNECT BY LEVEL &lt;10)
   WHERE LEVEL = 9
   START WITH num = 9
   CONNECT BY NOCYCLE PRIOR num != num
   AND LEVEL &lt;= 9
  )
  SELECT to_number(substr(str_num,1,rn)) n1, to_number(substr(str_num,rn+1)) n2
  FROM DATA,(SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM&lt;=8)
 )
)
WHERE max_product = product;
</pre>
]]></content:encoded>
	</item>
</channel>
</rss>
