snipt

Ctrl+h for KB shortcuts

MySQL

Calculate the difference between dates in on column within the same table

1
2
3
4
SELECT DATEDIFF(
 (SELECT DATE(date_field) FROM table WHERE id = '1' AND status_id = '2' ORDER BY date_field DESC LIMIT 1),
 (SELECT DATE(date_field) FROM table WHERE id = '1' AND status_id = '1' ORDER BY date_field DESC LIMIT 1)
	) AS difference
https://snippets.siftie.com/embed/92c1f8bbeb80a7a6033d40cae85dcd24/
/raw/92c1f8bbeb80a7a6033d40cae85dcd24/
92c1f8bbeb80a7a6033d40cae85dcd24
mysql
MySQL
4
2019-04-18T11:54:44
True
False
False
/api/public/snipt/14227/
calculate-the-difference-between-dates-in-one-columns-within-the-same-table
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1">1</a> <a href="#L-2">2</a> <a href="#L-3">3</a> <a href="#L-4">4</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="k">SELECT</span> <span class="nf">DATEDIFF</span><span class="p">(</span> </span><span id="L-2"><a name="L-2"></a> <span class="p">(</span><span class="k">SELECT</span> <span class="kt">DATE</span><span class="p">(</span><span class="n">date_field</span><span class="p">)</span> <span class="k">FROM</span> <span class="k">table</span> <span class="k">WHERE</span> <span class="n">id</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span> <span class="k">AND</span> <span class="n">status_id</span> <span class="o">=</span> <span class="s1">&#39;2&#39;</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="n">date_field</span> <span class="k">DESC</span> <span class="k">LIMIT</span> <span class="mi">1</span><span class="p">),</span> </span><span id="L-3"><a name="L-3"></a> <span class="p">(</span><span class="k">SELECT</span> <span class="kt">DATE</span><span class="p">(</span><span class="n">date_field</span><span class="p">)</span> <span class="k">FROM</span> <span class="k">table</span> <span class="k">WHERE</span> <span class="n">id</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span> <span class="k">AND</span> <span class="n">status_id</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="n">date_field</span> <span class="k">DESC</span> <span class="k">LIMIT</span> <span class="mi">1</span><span class="p">)</span> </span><span id="L-4"><a name="L-4"></a> <span class="p">)</span> <span class="k">AS</span> <span class="n">difference</span> </span></pre></div> </td></tr></table>
change, date, datediff, difference, mysql, status, subquery