Skip to content

Commit 989ec14

Browse files
committed
deploy: 4b32591
1 parent c8379ad commit 989ec14

File tree

10 files changed

+7303
-6865
lines changed

10 files changed

+7303
-6865
lines changed

en/lc/1329/index.html

Lines changed: 232 additions & 42 deletions
Large diffs are not rendered by default.

en/lc/3126/index.html

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72440,9 +72440,9 @@
7244072440
<ul class="md-nav__list">
7244172441

7244272442
<li class="md-nav__item">
72443-
<a href="#solution-1" class="md-nav__link">
72443+
<a href="#solution-1-using-window-functions" class="md-nav__link">
7244472444
<span class="md-ellipsis">
72445-
Solution 1
72445+
Solution 1: Using Window Functions
7244672446
</span>
7244772447
</a>
7244872448

@@ -75367,11 +75367,40 @@ <h2 id="description">Description</h2>
7536775367
The accumulated runtime for all servers totals approximately 44.46 hours, equivalent to one full day plus some additional hours. However, since we consider only full days, the final output is rounded to 1 full day.</div>
7536875368

7536975369
<h2 id="solutions">Solutions</h2>
75370-
<h3 id="solution-1">Solution 1</h3>
75370+
<h3 id="solution-1-using-window-functions">Solution 1: Using Window Functions</h3>
75371+
<p>We can use the window function <code>LEAD</code> to get the time of the next status for each server. The time difference between two statuses is the running time of the server. Finally, we add up the running time of all servers, then divide by the number of seconds in a day to get the total running days of the servers.</p>
7537175372
<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>
7537275373
<div class="tabbed-content">
7537375374
<div class="tabbed-block">
75374-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>
75375+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
75376+
<span class="normal"> 2</span>
75377+
<span class="normal"> 3</span>
75378+
<span class="normal"> 4</span>
75379+
<span class="normal"> 5</span>
75380+
<span class="normal"> 6</span>
75381+
<span class="normal"> 7</span>
75382+
<span class="normal"> 8</span>
75383+
<span class="normal"> 9</span>
75384+
<span class="normal">10</span>
75385+
<span class="normal">11</span>
75386+
<span class="normal">12</span>
75387+
<span class="normal">13</span>
75388+
<span class="normal">14</span>
75389+
<span class="normal">15</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>
75390+
<span class="k">WITH</span>
75391+
<span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
75392+
<span class="w"> </span><span class="k">SELECT</span>
75393+
<span class="w"> </span><span class="n">session_status</span><span class="p">,</span>
75394+
<span class="w"> </span><span class="n">status_time</span><span class="p">,</span>
75395+
<span class="w"> </span><span class="n">LEAD</span><span class="p">(</span><span class="n">status_time</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span>
75396+
<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">server_id</span>
75397+
<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">status_time</span>
75398+
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">next_status_time</span>
75399+
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Servers</span>
75400+
<span class="w"> </span><span class="p">)</span>
75401+
<span class="k">SELECT</span><span class="w"> </span><span class="n">FLOOR</span><span class="p">(</span><span class="k">SUM</span><span class="p">(</span><span class="n">TIMESTAMPDIFF</span><span class="p">(</span><span class="k">SECOND</span><span class="p">,</span><span class="w"> </span><span class="n">status_time</span><span class="p">,</span><span class="w"> </span><span class="n">next_status_time</span><span class="p">))</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">86400</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">total_uptime_days</span>
75402+
<span class="k">FROM</span><span class="w"> </span><span class="n">T</span>
75403+
<span class="k">WHERE</span><span class="w"> </span><span class="n">session_status</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;start&#39;</span><span class="p">;</span>
7537575404
</code></pre></div></td></tr></table></div>
7537675405
</div>
7537775406
</div>

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)