doc-exports/docs/dws/tool/dws_mt_0138.html
Lu, Huayi 27019c2991 DWS TOOL 830.201 version
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:35:25 +00:00

312 lines
31 KiB
HTML

<a name="EN-US_TOPIC_0000001819416329"></a><a name="EN-US_TOPIC_0000001819416329"></a>
<h1 class="topictitle1">Analytical Functions</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p8060118">Analytical functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. Analytical functions are commonly used to compute cumulative, moving, centered, and reporting aggregates. DSC supports analytical functions including the RATIO_TO_REPORT function.</p>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p6585177111"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b697201417337">Input - <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b11222213336">Analytical Functions</strong></strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen0989144336"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">empno</span><span class="p">,</span><span class="w"> </span><span class="n">ename</span><span class="p">,</span><span class="w"> </span><span class="n">deptno</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">()</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cnt</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="k">AVG</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">empno</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">deptno</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cnt_dst</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">emp</span>
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">empno</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p51051214133320"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b1210611416334">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen1110771410335"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">WITH</span><span class="w"> </span><span class="n">aggDistQuery1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">deptno</span>
<span class="w"> </span><span class="p">,</span><span class="k">AVG</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">empno</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">aggDistAlias1</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">deptno</span>
<span class="p">)</span><span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">empno</span>
<span class="w"> </span><span class="p">,</span><span class="n">ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">deptno</span>
<span class="w"> </span><span class="p">,</span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cnt</span>
<span class="w"> </span><span class="p">,(</span>
<span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">aggDistAlias1</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">aggDistQuery1</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span><span class="n">deptno</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MigTblAlias</span><span class="p">.</span><span class="n">deptno</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">cnt_dst</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp</span><span class="w"> </span><span class="n">MigTblAlias</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">empno</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_section11132185520582"><h4 class="sectiontitle">RATIO_TO_REPORT</h4><p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p24446155917">RATIO_TO_REPORT is an analytic function which returns the proportion of a value to a group of values.</p>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p16778172218220"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b11778162215215">Input - <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b16778182216216">RATIO_TO_REPORT</strong></strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen8778112211210"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">last_name</span><span class="p">,</span><span class="w"> </span><span class="n">salary</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">RATIO_TO_REPORT</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">rr</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span>
<span class="k">WHERE</span><span class="w"> </span><span class="n">job_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'PU_CLERK'</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p87807221228"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b1578015227218">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen137812022426"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">last_name</span><span class="p">,</span><span class="w"> </span><span class="n">salary</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">salary</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">NULLIF</span><span class="p">(</span><span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">rr</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">employees</span>
<span class="k">WHERE</span><span class="w"> </span><span class="n">job_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'PU_CLERK'</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p6919112114220"></p>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p1468320178160"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_b6781029102210">Input - <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_b107812942214">RATIO_TO_REPORT</strong></strong><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_b97822913224"> with AGGREGATE column in SELECT</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen176849171164"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="n">RATIO_TO_REPORT</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Deptno</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">RATIO</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p136871217171614"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b1568771741613">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen362718551428"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">NULLIF</span><span class="p">(</span><span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Deptno</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">,</span><span class="mi">0</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">RATIO</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p5272135916218"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b11272759928">Input - <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b72736592215">RATIO_TO_REPORT</strong></strong><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b1916514381867"> with the AGGREGATE column using extending grouping feature but </strong><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b10605910152916">OUNT (Salary) in the RATIO TO REPORT column</strong> <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b12165938968">is not present in SELECT</strong></p>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p196411359410">Use the <strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0237712462_b99161233172310"><a href="dws_16_0213.html#EN-US_TOPIC_0000001772536388__en-us_topic_0000001658024910_en-us_topic_0218440495_li121341415427">extendedGroupByClause</a></strong> configuration parameter to configure migration of the extended GROUP BY clause.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen6273559427"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="n">RATIO_TO_REPORT</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Deptno</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">RATIO</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="k">GROUPING</span><span class="w"> </span><span class="k">SETS</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_p6276859120"><strong id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_b1983977996">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416329__en-us_topic_0000001658024842_en-us_topic_0238518399_en-us_topic_0237362180_en-us_topic_0202727311_screen427775914210"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="n">ColumnAlias1</span>
<span class="w"> </span><span class="p">,</span><span class="n">aggColumnalias1</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">NULLIF</span><span class="p">(</span><span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">aggColumnalias1</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="p">(</span><span class="w"> </span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">Deptno</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">,</span><span class="mi">0</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">RATIO</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">ColumnAlias1</span>
<span class="w"> </span><span class="p">,</span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">aggColumnalias1</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Ename</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="k">UNION</span>
<span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">ColumnAlias1</span>
<span class="w"> </span><span class="p">,</span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">aggColumnalias1</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Deptno</span>
<span class="w"> </span><span class="k">UNION</span>
<span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="k">SUM</span><span class="w"> </span><span class="p">(</span><span class="n">salary</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">ColumnAlias1</span>
<span class="w"> </span><span class="p">,</span><span class="k">COUNT</span><span class="p">(</span><span class="w"> </span><span class="n">Salary</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="n">aggColumnalias1</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="w"> </span><span class="p">,</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">emp1</span>
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Empno</span>
<span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span>
<span class="w"> </span><span class="n">Ename</span>
<span class="w"> </span><span class="p">,</span><span class="n">Deptno</span>
<span class="w"> </span><span class="p">,</span><span class="n">Empno</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_mt_0133.html">System Functions</a></div>
</div>
</div>