doc-exports/docs/dli/sqlreference/dli_08_0161.html
Su, Xiaomeng 76a5b1ee83 dli_sqlreference_20240227
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>
2024-03-27 22:02:33 +00:00

32 lines
4.2 KiB
HTML

<a name="dli_08_0161"></a><a name="dli_08_0161"></a>
<h1 class="topictitle1">Expression-Based GROUP BY</h1>
<div id="body8662426"><div class="section" id="dli_08_0161__en-us_topic_0093946994_s4c42c7f22e6546618e072a849ecbda72"><h4 class="sectiontitle">Function</h4><p id="dli_08_0161__en-us_topic_0093946994_a30a547f1fa054ae682f60444c2735ac3">This statement is used to group a table according to expressions. </p>
</div>
<div class="section" id="dli_08_0161__en-us_topic_0093946994_sdfc461f9606d4a6d9535f06c8ca377f5"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="dli_08_0161__screen0336141014431"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</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="p">...];</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="dli_08_0161__en-us_topic_0093946994_sbcc2429213e34192b0f018db4aee1390"><h4 class="sectiontitle">Keywords</h4><p id="dli_08_0161__en-us_topic_0093946994_aed794e383c02468899c71ad84642b071">The <strong id="dli_08_0161__b6376175619356">groupby_expression</strong> can contain a single field or multiple fields, and also can call aggregate functions or string functions. </p>
</div>
<div class="section" id="dli_08_0161__en-us_topic_0093946994_s89269cf838fd4175876143e1ff404f0b"><h4 class="sectiontitle">Precautions</h4><ul id="dli_08_0161__en-us_topic_0093946994_u1c24cc6ac83f463fb3f5f6a87b9668eb"><li id="dli_08_0161__en-us_topic_0093946994_l029f84c1ce8d405faa197f3c3334a81a">The to-be-grouped table must exist. Otherwise, an error is reported.</li><li id="dli_08_0161__en-us_topic_0093946994_l1f37bc1a00f74f9a944560e3a91d09fc">In the same single-column group, built-in functions and self-defined functions are supported in the expression in the GRUOP BY fields that must exit in <strong id="dli_08_0161__b15168115319438">attr_expr_list</strong>.</li></ul>
</div>
<div class="section" id="dli_08_0161__en-us_topic_0093946994_sd2ae08a0990a48e8bdcf6d347be18234"><h4 class="sectiontitle">Example</h4><p id="dli_08_0161__en-us_topic_0093946994_a3c4efc19686b4ec19a01eee6172215d8">To use the <strong id="dli_08_0161__b1878311598364">substr</strong> function to obtain the string from the <strong id="dli_08_0161__b163279122376">name</strong> field, group the student table according to the obtained string, and return each sub string and the number of records, run the following statement: </p>
<div class="codecoloring" codetype="Sql" id="dli_08_0161__screen16206133424315"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">substr</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="k">count</span><span class="p">(</span><span class="n">name</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">student</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">substr</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="mi">6</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>