forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Su, Xiaomeng <suxiaomeng1@huawei.com> Co-committed-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
38 lines
4.9 KiB
HTML
38 lines
4.9 KiB
HTML
<a name="dli_08_0162"></a><a name="dli_08_0162"></a>
|
|
|
|
<h1 class="topictitle1">GROUP BY Using HAVING</h1>
|
|
<div id="body8662426"><div class="section" id="dli_08_0162__en-us_topic_0093946840_s156cc73d298649c284f15a9aefca5ee1"><h4 class="sectiontitle">Function</h4><p id="dli_08_0162__en-us_topic_0093946840_acf88235f6eb34592bc9be7c1faeddcad">This statement filters a table after grouping it using the HAVING clause.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0162__en-us_topic_0093946840_sf8d2abc2692849e28955df3bfccc8b82"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0162__screen17180173018462"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">attr_expr_list</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">table_reference</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">groupby_expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">groupby_expression</span><span class="p">...]</span>
|
|
<span class="w"> </span><span class="k">HAVING</span><span class="w"> </span><span class="n">having_expression</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="dli_08_0162__en-us_topic_0093946840_s3fcbc36888604b0d9cdc4079b609327c"><h4 class="sectiontitle">Keyword</h4><p id="dli_08_0162__en-us_topic_0093946840_a6f18a544ce4b4cd7961fa537ed65b071">The groupby_expression can contain a single field or multiple fields, and can also call aggregate functions or string functions.</p>
|
|
</div>
|
|
<div class="section" id="dli_08_0162__en-us_topic_0093946840_s679cfa1051b64bbc98629d47acdb51e9"><h4 class="sectiontitle">Precautions</h4><ul id="dli_08_0162__en-us_topic_0093946840_uc318561d33ef4e8bb674a76eb4d15216"><li id="dli_08_0162__en-us_topic_0093946840_lf425e2c656cc4a1daa965fde6f5172a7">The to-be-grouped table must exist. Otherwise, an error is reported.</li><li id="dli_08_0162__en-us_topic_0093946840_l935147f39c274c50905d58fc98bf4792">If the filtering condition is subject to the query results of GROUP BY, the HAVING clause, rather than the WHERE clause, must be used for filtering. If HAVING and GROUP BY are used together, GROUP BY applies first for grouping and HAVING then applies for filtering. The arithmetic operation and aggregate function are supported by the HAVING clause.</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0162__en-us_topic_0093946840_sf7169b9a67c64d2aa55fe7e8254c1007"><h4 class="sectiontitle">Example</h4><p id="dli_08_0162__en-us_topic_0093946840_a72a64978b4ad42bfb5a8ba6639a8e4cf">Group the <strong id="dli_08_0162__b1536241416462">transactions</strong> according to <strong id="dli_08_0162__b20568121812462">num</strong>, use the HAVING clause to filter the records in which the maximum value derived from multiplying <strong id="dli_08_0162__b10251133744717">price</strong> with <strong id="dli_08_0162__b528494274712">amount</strong> is higher than 5000, and return the filtered results.</p>
|
|
<div class="codecoloring" codetype="Sql" id="dli_08_0162__screen151921925134717"><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">num</span><span class="p">,</span><span class="w"> </span><span class="k">max</span><span class="p">(</span><span class="n">price</span><span class="o">*</span><span class="n">amount</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">transactions</span>
|
|
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="k">time</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="s1">'2016-06-01'</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">num</span>
|
|
<span class="w"> </span><span class="k">HAVING</span><span class="w"> </span><span class="k">max</span><span class="p">(</span><span class="n">price</span><span class="o">*</span><span class="n">amount</span><span class="p">)</span><span class="o">></span><span class="mi">5000</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0159.html">Grouping</a></div>
|
|
</div>
|
|
</div>
|
|
|