@@ -75352,7 +75352,7 @@ <h2 id="description">Description</h2>
75352
75352
<h2 id="solutions">Solutions</h2>
75353
75353
<h3 id="solution-1-grouping-and-aggregation">Solution 1: Grouping and Aggregation</h3>
75354
75354
<p>We can group the query results by <code>query_name</code>, and then use the <code>AVG</code> and <code>ROUND</code> functions to calculate <code>quality</code> and <code>poor_query_percentage</code>.</p>
75355
- <div class="tabbed-set tabbed-alternate" data-tabs="1:1 "><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">MySQL</label></div>
75355
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:2 "><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" />< div class="tabbed-labels"><label for="__tabbed_1_1">MySQL</label><label for="__tabbed_1_2 ">MySQL</label></div>
75356
75356
<div class="tabbed-content">
75357
75357
<div class="tabbed-block">
75358
75358
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -75361,15 +75361,55 @@ <h3 id="solution-1-grouping-and-aggregation">Solution 1: Grouping and Aggregatio
75361
75361
<span class="normal">4</span>
75362
75362
<span class="normal">5</span>
75363
75363
<span class="normal">6</span>
75364
- <span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
75364
+ <span class="normal">7</span>
75365
+ <span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
75365
75366
<span class="k">SELECT</span>
75366
75367
<span class="w"> </span><span class="n">query_name</span><span class="p">,</span>
75367
75368
<span class="w"> </span><span class="n">ROUND</span><span class="p">(</span><span class="k">AVG</span><span class="p">(</span><span class="n">rating</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">position</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">quality</span><span class="p">,</span>
75368
75369
<span class="w"> </span><span class="n">ROUND</span><span class="p">(</span><span class="k">AVG</span><span class="p">(</span><span class="n">rating</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">poor_query_percentage</span>
75369
75370
<span class="k">FROM</span><span class="w"> </span><span class="n">Queries</span>
75371
+ <span class="k">WHERE</span><span class="w"> </span><span class="n">query_name</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
75370
75372
<span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
75371
75373
</code></pre></div></td></tr></table></div>
75372
75374
</div>
75375
+ <div class="tabbed-block">
75376
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
75377
+ <span class="normal"> 2</span>
75378
+ <span class="normal"> 3</span>
75379
+ <span class="normal"> 4</span>
75380
+ <span class="normal"> 5</span>
75381
+ <span class="normal"> 6</span>
75382
+ <span class="normal"> 7</span>
75383
+ <span class="normal"> 8</span>
75384
+ <span class="normal"> 9</span>
75385
+ <span class="normal">10</span>
75386
+ <span class="normal">11</span>
75387
+ <span class="normal">12</span>
75388
+ <span class="normal">13</span>
75389
+ <span class="normal">14</span>
75390
+ <span class="normal">15</span>
75391
+ <span class="normal">16</span>
75392
+ <span class="normal">17</span>
75393
+ <span class="normal">18</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
75394
+ <span class="k">SELECT</span>
75395
+ <span class="w"> </span><span class="n">IFNULL</span><span class="p">(</span><span class="n">query_name</span><span class="p">,</span><span class="w"> </span><span class="s1">'null'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">query_name</span><span class="p">,</span>
75396
+ <span class="w"> </span><span class="n">ROUND</span><span class="p">(</span><span class="k">AVG</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">rating</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">position</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">quality</span><span class="p">,</span>
75397
+ <span class="w"> </span><span class="n">ROUND</span><span class="p">(</span>
75398
+ <span class="w"> </span><span class="p">(</span>
75399
+ <span class="w"> </span><span class="k">SUM</span><span class="p">(</span>
75400
+ <span class="w"> </span><span class="k">CASE</span>
75401
+ <span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">rating</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span>
75402
+ <span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">0</span>
75403
+ <span class="w"> </span><span class="k">END</span>
75404
+ <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="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
75405
+ <span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
75406
+ <span class="w"> </span><span class="mi">2</span>
75407
+ <span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">poor_query_percentage</span>
75408
+ <span class="k">FROM</span><span class="w"> </span><span class="n">Queries</span>
75409
+ <span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">query_name</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">ROLLUP</span>
75410
+ <span class="k">HAVING</span><span class="w"> </span><span class="n">query_name</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
75411
+ </code></pre></div></td></tr></table></div>
75412
+ </div>
75373
75413
</div>
75374
75414
</div>
75375
75415
<!-- end -->
@@ -75401,6 +75441,11 @@ <h3 id="solution-1-grouping-and-aggregation">Solution 1: Grouping and Aggregatio
75401
75441
75402
75442
<nav>
75403
75443
75444
+ <a href="https://github.com/Professorx911" class="md-author" title="@Professorx911">
75445
+
75446
+ <img src="https://avatars.githubusercontent.com/u/112453010?v=4&size=72" alt="Professorx911">
75447
+ </a>
75448
+
75404
75449
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
75405
75450
75406
75451
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments