<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Peter Larsson : Algorithm, Math</title><link>http://sqlblog.com/blogs/peter_larsson/archive/tags/Algorithm/Math/default.aspx</link><description>Tags: Algorithm, Math</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Simple Fibonacci calculation</title><link>http://sqlblog.com/blogs/peter_larsson/archive/2009/10/18/simple-fibonacci-calculation.aspx</link><pubDate>Sun, 18 Oct 2009 12:08:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:17881</guid><dc:creator>Peso</dc:creator><slash:comments>10</slash:comments><comments>http://sqlblog.com/blogs/peter_larsson/comments/17881.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/peter_larsson/commentrss.aspx?PostID=17881</wfw:commentRss><description>I have listened to the critique in the comments and removed the advanced version where you can calculate virtually any Fibonacci number. Contact me if you have the need for it again. I won't bother non-interested people with the algorithm here.&lt;BR&gt;&lt;BR&gt;Instead, I am concentrating on how this &lt;EM&gt;easy example&lt;/EM&gt; of how to use &lt;EM&gt;recursive CTE&lt;/EM&gt;&amp;nbsp;for calculating the Fibonacci series is constructed.&lt;BR&gt;&lt;BR&gt;This is done as an easy exercise for students how to implement a recursive CTE, because the results can be confirmed visually.&lt;BR&gt;Understanding recursive queries is not natural for many people.&lt;BR&gt;&lt;BR&gt;For those of you not familiar with Fibonacci series and wonder what uses does it have, I can tell that Fibonacci series is used in a number of areas&lt;BR&gt;&lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;Run-time analysis of Euclid's algorithm to determine the greatest common divisor of two integers (the worst case input for this algorithm is a pair of consecutive Fibonacci numbers&lt;/LI&gt;
&lt;LI&gt;The Fibonacci numbers and principle is also used in the financial markets. It is used in trading algorithms, applications and strategies.&lt;/LI&gt;
&lt;LI&gt;Fibonacci numbers are used by some pseudorandom number generators.&lt;/LI&gt;
&lt;LI&gt;Fibonacci numbers are used in a polyphase version of the merge sort algorithm in which an unsorted list is divided into two lists whose lengths correspond to sequential Fibonacci numbers.&lt;/LI&gt;
&lt;LI&gt;The Fibonacci cube is an undirected graph with a Fibonacci number of nodes that has been proposed as a network topology for parallel computing.&lt;/LI&gt;
&lt;LI&gt;A one-dimensional optimization method, called the Fibonacci search technique, uses Fibonacci numbers.&lt;/LI&gt;
&lt;LI&gt;The Fibonacci number series is used for optional lossy compression in the IFF 8SVX audio file format used on Amiga computers&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So how is the Fibonacci series built?&lt;BR&gt;&lt;BR&gt;The matemathical formula is F(n) = F(n-1) + F(n-2), which in plain english is that any Fibonacci number (greater than 2) is the sum of the two previous numbers.&lt;BR&gt;0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89&amp;nbsp;etc..&lt;BR&gt;&lt;BR&gt;So how do we solve this using a recursive CTE (CTE is an acronym for Common Table Expression which was introduced with Microsof SQL Server 2005)?&lt;BR&gt;Can we solve it at all? A recursive query is nested only one level, right? And the Fibonacci series is "nested" two level?&lt;BR&gt;&lt;BR&gt;Yes, we can solve it by using a complementary "sideways" translation, a sort of intermediate storage. First thing, all recursive CTE need an anchor part, a fixed part from which the recursion is expanded from. I do this by using the values {0, 1} which per definition are the two first values of the Fibonacci series.&lt;BR&gt;&lt;BR&gt;How is then the &lt;EM&gt;recursive&lt;/EM&gt; part done? I use the two values from the previous iteration and sum them together for the next Fibonacci value. I store that value in a column, shift the columns, and use the previous value in the same recursion level. Easy, huh?&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:10pt;mso-no-proof:yes;"&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;WITH&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Fibonacci&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; f&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; f1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;AS &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- This is the anchor part&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Initialize level to 1 and set the first two values as per definition&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;CAST&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;),&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAST&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;0 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;),&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;&lt;FONT color=#ff00ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAST&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;ALL&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- This is the recursive part&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Calculate the next Fibonacci value using the previous two values&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Shift column (place) for the sum in order to accomodate the previous&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- value too because next iteration need them both&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp; n &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; f1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fibonacci&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Stop at iteration 93 because we than have reached maximum limit&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- for BIGINT in Microsoft SQL Server&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp; n &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; 93&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;-- Now the easy presentation part&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp; n&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;,&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Number&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fibonacci&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=17881" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Algorithm/default.aspx">Algorithm</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Math/default.aspx">Math</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Optimization/default.aspx">Optimization</category></item><item><title>Date and Time concurrency</title><link>http://sqlblog.com/blogs/peter_larsson/archive/2009/09/19/date-and-time-concurrency.aspx</link><pubDate>Sat, 19 Sep 2009 10:51:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:16891</guid><dc:creator>Peso</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/peter_larsson/comments/16891.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/peter_larsson/commentrss.aspx?PostID=16891</wfw:commentRss><description>&lt;P&gt;In the past I mostly have given the advice to break down all date intervals into the smallest part (often minutes) and then group by the minute.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Prepare sample data&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;@Data &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;RecID &lt;SPAN style="COLOR:blue;"&gt;INT&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;IDENTITY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 1&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;PRIMARY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;KEY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;CLUSTERED&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateDate &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteDate &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Populate sample data&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;@Data&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateDate&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteDate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:34'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:36'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:37'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:37'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:38'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:38'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:41'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:41'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:43'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:44'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:52'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:52'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:56'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59'&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;@From &lt;SPAN style="COLOR:blue;"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@To &lt;SPAN style="COLOR:blue;"&gt;INT&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;@From &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;MIN&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;MINUTE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; CreateDate&lt;SPAN style="COLOR:gray;"&gt;)),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@To &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;MAX&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;MINUTE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; DeleteDate&lt;SPAN style="COLOR:gray;"&gt;))&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;SELECT&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;MINUTE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; Number &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; @From&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; theTime&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;master&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;..&lt;/SPAN&gt;spt_values&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;WHERE&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;Type&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'P'&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; Number &lt;SPAN style="COLOR:gray;"&gt;&amp;lt;=&lt;/SPAN&gt; @To &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt; @From&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; w&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;INNER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&amp;nbsp; @Data &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d &lt;SPAN style="COLOR:blue;"&gt;ON&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate &lt;SPAN style="COLOR:gray;"&gt;&amp;lt;=&lt;/SPAN&gt; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;DeleteDate &lt;SPAN style="COLOR:gray;"&gt;&amp;gt;=&lt;/SPAN&gt; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;TheTime&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&lt;/SPAN&gt;Well, sometimes the time interval is too large to hold all minute values, and what if&amp;nbsp;you all of a sudden decides to break down the calculation into milliseconds?&lt;/P&gt;
&lt;P&gt;The problem resembles about date range searching. Most people tend to use&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;*&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Table1&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Col1 &lt;SPAN style="COLOR:gray;"&gt;BETWEEN&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'20090129 00:00:00.000'&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'20090129 23:59:59.997'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&lt;SPAN style="COLOR:red;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;What you should use is open-ended search criteria as&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;*&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Table1&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Col1 &lt;SPAN style="COLOR:gray;"&gt;&amp;gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'20090129'&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;AND&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; Col1 &lt;SPAN style="COLOR:gray;"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'20090130'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The solution for this type of problem can then look something like this&lt;/P&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Prepare sample data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;@Data &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RecID &lt;SPAN style="COLOR:blue;"&gt;INT&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;IDENTITY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 1&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;PRIMARY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;KEY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;CLUSTERED&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateDate &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteDate &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Populate sample data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;@Data&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateDate&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteDate&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33:41.857'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35:59.543'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33:42.857'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:33:59.543'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:34:26.513'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35:43.233'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35:14.920'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35:31.530'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:35:50.373'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:36:07.340'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:37:26.793'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:37:44.857'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39:22.077'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39:38.543'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:38:03.873'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:38:20.827'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39:39.247'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:39:55.840'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:41:25.857'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:41:42.467'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:43:14.607'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:44:31.483'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:52:10.233'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:52:26.827'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53:08.187'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53:24.983'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53:36.483'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:53:53.060'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:56:56.403'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57:13.263'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57:28.247'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:57:44.780'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58:16.090'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58:32.623'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:58:52.137'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59:08.670'&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;ALL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59:21.170'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;'2009-01-14 22:59:37.733'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Prepare staging table&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;@Stage &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RecID &lt;SPAN style="COLOR:blue;"&gt;INT&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;IDENTITY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 1&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;PRIMARY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;KEY&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;CLUSTERED&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FromTime &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToTime &lt;SPAN style="COLOR:blue;"&gt;DATETIME&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Populate staging table&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Stage&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FromTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Data &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;UNPIVOT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;FOR&lt;/SPAN&gt; theCol &lt;SPAN style="COLOR:gray;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;DeleteDate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; u&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;theTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Update with closest range&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;UPDATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SET&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Stage &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; s&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;INNER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&amp;nbsp; @Stage &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; w &lt;SPAN style="COLOR:blue;"&gt;ON&lt;/SPAN&gt; w&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;RecID &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;RecID &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; 1&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Delete last time&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;DELETE&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Stage&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RecID &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;SCOPE_IDENTITY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Display the result&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; Occurencies&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Data &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;INNER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&amp;nbsp; @Stage &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; s &lt;SPAN style="COLOR:blue;"&gt;ON&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime &lt;SPAN style="COLOR:gray;"&gt;&amp;lt;&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;DeleteDate&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime &lt;SPAN style="COLOR:gray;"&gt;&amp;gt;&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;HAVING&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;&amp;gt;&lt;/SPAN&gt; 1&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0cm 0cm 10pt;"&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&lt;SPAN style="COLOR:red;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;Finally, there is also a twist with this approach. You do not only get for which exact minute there is the most concurrency, you get the whole range!&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;And you can also see the gaps, where no concurrency occurs at all.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;"&gt;-- Display the gaps&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; Occurencies&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Data &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;RIGHT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&amp;nbsp; @Stage &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; s &lt;SPAN style="COLOR:blue;"&gt;ON&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime &lt;SPAN style="COLOR:gray;"&gt;&amp;lt;&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;DeleteDate&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime &lt;SPAN style="COLOR:gray;"&gt;&amp;gt;&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;ToTime&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;HAVING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:fuchsia;FONT-SIZE:8pt;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; 0&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;CreateDate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;"&gt;s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;FromTime&lt;BR&gt;&lt;BR&gt;&lt;FONT size=2 face=Arial&gt;//Peso&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=16891" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Algorithm/default.aspx">Algorithm</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Math/default.aspx">Math</category></item><item><title>Moving average and Weighted Moving Average</title><link>http://sqlblog.com/blogs/peter_larsson/archive/2009/09/18/moving-average-and-weighted-moving-average.aspx</link><pubDate>Fri, 18 Sep 2009 08:03:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:16854</guid><dc:creator>Peso</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/peter_larsson/comments/16854.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/peter_larsson/commentrss.aspx?PostID=16854</wfw:commentRss><description>&lt;P&gt;In my previous &lt;A href="http://sqlblog.com/blogs/peter_larsson/archive/2009/09/18/median-and-weighted-median-calculations.aspx"&gt;blog post&lt;/A&gt;, I wrote about how to calculate median value and weighted median value in a secure and fast approach.&lt;BR&gt;&lt;BR&gt;In this blog post I am going to describe how you can calculate a fast moving average and also calculate a fast weighted moving average.&lt;BR&gt;This is the sample data we should work with during the whole exercise. I also display both the normal moving average and the weighted moving average at the same time.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DECLARE &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;@Sample &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dt &lt;SPAN style="COLOR:blue;"&gt;SMALLDATETIME&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Rate &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;@Sample&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;VALUES&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:fuchsia;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:fuchsia;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 10&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;2&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;9&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;2&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;8&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;4&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;7&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;4&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;6&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;5&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;5&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;6&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;4&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;6&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;3&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;8&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;2&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;9&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt; 10&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;0&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt; 11&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;GETDATE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()),&lt;/SPAN&gt; 0&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;9&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; @Result &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dt &lt;SPAN style="COLOR:blue;"&gt;SMALLDATETIME&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ma &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-no-proof:yes;"&gt;wma &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;First of all, I am going to show you an approach made by a cursor. This is actually&amp;nbsp;one of the fastest way to accomplish this task!&lt;BR&gt;It is also very resource friendly and uses (n)&amp;nbsp;combinations to get the results.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;-- Declare some variables needed by the CURSOR&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; @Date &lt;SPAN style="COLOR:blue;"&gt;SMALLDATETIME&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Rate &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;@RateCurrent &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@RateMinusOne &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@RateMinusTwo &lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; curUgly &lt;SPAN style="COLOR:blue;"&gt;CURSOR&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;FOR&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Rate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;@Sample&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dt&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;OPEN&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;curUgly&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;FETCH&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;NEXT&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;curUgly&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;INTO&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;@Date&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Rate&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;WHILE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;@@FETCH_STATUS&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; 0&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;BEGIN&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;@RateMinusTwo &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; @RateMinusOne&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@RateMinusOne &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; @RateCurrent&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@RateCurrent &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; @Rate&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;IF&lt;/SPAN&gt; @RateMinusTwo &lt;SPAN style="COLOR:gray;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; @RateMinusOne &lt;SPAN style="COLOR:gray;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; @RateCurrent &lt;SPAN style="COLOR:gray;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;@Result&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ma&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;wma&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;VALUES&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Date&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;@RateCurrent &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; @RateMinusOne &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; @RateMinusTwo&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;/&lt;/SPAN&gt; 3&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;0.7 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; @RateCurrent &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; 0.2 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; @RateMinusOne &lt;SPAN style="COLOR:gray;"&gt;+&lt;/SPAN&gt; 0.1 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; @RateMinusTwo&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FETCH&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;NEXT&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;curUgly&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;INTO&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;@Date&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Rate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;END&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;CLOSE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;curUgly&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;DEALLOCATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;curUgly&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;SELECT&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dt &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; [Date]&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ma &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; NormalMovingAverage&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;wma &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; WeightedMovingAverage&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Result&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dt&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;But, as you can see it is not very configurable. What if you suddenly wants a moving average over 5 days? Well, you simply have to rewrite several parts such as declare, initial select statement, if clause and the insert part. Essentially the whole code.&lt;BR&gt;&lt;BR&gt;Now, what if we want to write a SET-based query to do the same thing? The most frequent used query I have seen before, is a self-join query (Cartesian product) like this.&lt;BR&gt;It is very slow since it tries all combinatations (n * n) before filtering out the rows to be used. However it is more configurable friendly.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;-- A common SET-based solution&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;SELECT&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; [Date]&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;AVG&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; NormalMovingAverage&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;SUM&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;CASE&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;WHEN&lt;/SPAN&gt; 0 &lt;SPAN style="COLOR:blue;"&gt;THEN&lt;/SPAN&gt; 0.7 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;WHEN&lt;/SPAN&gt; 1 &lt;SPAN style="COLOR:blue;"&gt;THEN&lt;/SPAN&gt; 0.2 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;WHEN&lt;/SPAN&gt; 2 &lt;SPAN style="COLOR:blue;"&gt;THEN&lt;/SPAN&gt; 0.1 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;END&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; WeightedMovingAverage&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;FROM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;@Sample &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; t1&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;INNER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;@Sample &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; t2 &lt;SPAN style="COLOR:blue;"&gt;ON&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; t2&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;BETWEEN&lt;/SPAN&gt; 0 &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; 2&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;HAVING&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; 3&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-no-proof:yes;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;t1&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN:0cm 0cm 10pt;" class=MsoNormal&gt;Even if the code looks SET-based, it is not in reality. I know Jeff Moden would call this RBAR (Row-By-Agonizing-Row). However, the code is more maintainable and altering from a 3 day to a 5 day moving average will make you have to change the code in 3 places only; the case statement, between value&amp;nbsp;and having clause. Much better, but also absolutely worse performance compared to a cursor.&lt;/P&gt;
&lt;P&gt;Surely there must be a way to combine these two approaches? Yes, there is, and the combinations needed to get the result is only (3 * n) which is much less than the other set-based code but also somewhat&amp;nbsp;more than the cursor approach.&lt;BR&gt;&lt;BR&gt;See this code.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;-- A better SET-based approach&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Number&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; [Date]&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;AVG&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; NormalMovingAverage&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;SUM&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Coefficient &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Rate&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; WeightedMovingAverage&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;FROM&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;@Sample &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; s&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;CROSS&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:gray;"&gt;JOIN&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;VALUES&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;0&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0.7&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;1&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0.2&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;2&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; 0.1&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;Number&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; Coefficient&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Number&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;HAVING&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;=&lt;/SPAN&gt; 3&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;ORDER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DATEADD&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:fuchsia;"&gt;DAY&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; d&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;Number&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt; s&lt;SPAN style="COLOR:gray;"&gt;.&lt;/SPAN&gt;dt&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Changing this piece of code to a 5 day moving average only takes editing in 2 places; the derived table and the having clause. If you have the coefficients in an auxiliary table, there will be only one edit to be made! In the auxiliary table, because the having part can equal a subquery calculating the number of records in the auxiliary table.&lt;/P&gt;
&lt;P&gt;For comparison, I tested all three methods on 5,000 sample rows and got this result&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;CURSOR&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;6,813 ms&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;Common&amp;nbsp;set-based&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;20,577 ms&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:8pt;mso-no-proof:yes;"&gt;Better set-based&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;127 ms&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;//Peso&lt;BR&gt;&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=16854" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Algorithm/default.aspx">Algorithm</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Math/default.aspx">Math</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Optimization/default.aspx">Optimization</category></item><item><title>Median and Weighted Median calculations</title><link>http://sqlblog.com/blogs/peter_larsson/archive/2009/09/18/median-and-weighted-median-calculations.aspx</link><pubDate>Fri, 18 Sep 2009 07:02:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:16853</guid><dc:creator>Peso</dc:creator><slash:comments>13</slash:comments><comments>http://sqlblog.com/blogs/peter_larsson/comments/16853.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/peter_larsson/commentrss.aspx?PostID=16853</wfw:commentRss><description>&lt;P&gt;Hi all!&lt;BR&gt;&lt;BR&gt;This is my first blog post here at sqlblog.com after some convincing arguments made by Adam Machanic. &lt;BR&gt;Some of you know me as Peso, and I have mostly&amp;nbsp;blogged&amp;nbsp;at SQLTeam.com before.&lt;BR&gt;&lt;BR&gt;Yesterday Joe Celko posted a query on &lt;A&gt;microsoft.public.sqlserver.programming&lt;/A&gt; newsgroup of how to write an &lt;EM&gt;elegant&lt;/EM&gt; query for Weighted Median calculation.&lt;BR&gt;He managed to&amp;nbsp;get the correct results&amp;nbsp;but&amp;nbsp;also ended up with some pretty ugly code. Joe also wrote he had a feeling of an elegant query should exist but was not seeing it.&lt;BR&gt;&lt;BR&gt;Anyway, since some of Celko's books have helped me in the past, I thought I should return the favor.&lt;BR&gt;&lt;BR&gt;Consider this sample data&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt; @Foo &lt;SPAN style="COLOR:blue;"&gt;TABLE&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;SMALLMONEY&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;NULL&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp; @Foo&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;VALUES&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;1&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;2&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;2&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;3&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;3&lt;SPAN style="COLOR:gray;"&gt;),&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;3&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;The most common approach to calculate the median value I have seen is&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;AVG&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;SELECT&lt;/SPAN&gt;&amp;nbsp; x&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:fuchsia;"&gt;ROW_NUMBER&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x &lt;SPAN style="COLOR:blue;"&gt;DESC&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; a&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:fuchsia;"&gt;ROW_NUMBER&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; b&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Foo&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp; b &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt; a &lt;SPAN style="COLOR:gray;"&gt;BETWEEN&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt;1 &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; 1&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV style="MARGIN:0cm 0cm 10pt;"&gt;It's a great method and it works in almost all cases. Yes, in almost all cases. There are circumstances where SQL Server will not give the&amp;nbsp;correct result.&lt;BR&gt;Adam Machanic has described the problem in this &lt;A href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=483540"&gt;Connect&lt;/A&gt; issue. It seems the table need some key to work properly, but as seen with Celko's sample data, there is no key in this scenario.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a &amp;nbsp;b &amp;nbsp;a-b&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;1.0000&amp;nbsp; 6 &amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;2.0000&amp;nbsp; 4 &amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;2.0000&amp;nbsp; 5 &amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;3.0000&amp;nbsp; 1 &amp;nbsp;4&amp;nbsp;&amp;nbsp; -3&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;3.0000&amp;nbsp; 2 &amp;nbsp;5&amp;nbsp;&amp;nbsp; -3&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;3.0000&amp;nbsp; 3 &amp;nbsp;6&amp;nbsp;&amp;nbsp; -3&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;As you can see, the difference calculated by a-b suddenly doesn't match!&lt;BR&gt;How can we overcome this behaviour? How can we write a piece of code that works all times?&lt;BR&gt;It's not that hard. See this query.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;-- Median by Peso&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;AVG&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;SELECT&lt;/SPAN&gt;&amp;nbsp; x&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;ROW_NUMBER&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; y&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Foo&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp; y &lt;SPAN style="COLOR:gray;"&gt;BETWEEN&lt;/SPAN&gt; 0 &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; 2&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;Yes it works! And now how to do the weighted median? Well, we follow the same approach and write this piece of code.&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:green;FONT-SIZE:10pt;"&gt;-- Weighted Median by Peso&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;SUM&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;y&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;/&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;SUM&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;t&lt;SPAN style="COLOR:gray;"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';COLOR:gray;FONT-SIZE:10pt;"&gt;(&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;SELECT&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;SUM&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;PARTITION&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; y&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 &lt;SPAN style="COLOR:gray;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;ROW_NUMBER&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:gray;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; z&lt;SPAN style="COLOR:gray;"&gt;,&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:fuchsia;"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(*)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;OVER &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;PARTITION&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;BY&lt;/SPAN&gt; x&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; t&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:blue;"&gt;FROM&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Foo&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR:gray;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;AS&lt;/SPAN&gt; d&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';COLOR:blue;FONT-SIZE:10pt;"&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';FONT-SIZE:10pt;"&gt;&amp;nbsp;&amp;nbsp; z &lt;SPAN style="COLOR:gray;"&gt;BETWEEN&lt;/SPAN&gt; 0 &lt;SPAN style="COLOR:gray;"&gt;AND&lt;/SPAN&gt; 2&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;I think the query qualifies as &lt;EM&gt;elegant&lt;/EM&gt;. Let's see if Celko thinks the same.&lt;BR&gt;As you can see, the query is only slightly more complicated than the normal Median. I leave the math behind it as an exercise to the reader.&lt;BR&gt;&lt;BR&gt;//Peso&lt;BR&gt;&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=16853" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Algorithm/default.aspx">Algorithm</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Math/default.aspx">Math</category><category domain="http://sqlblog.com/blogs/peter_larsson/archive/tags/Optimization/default.aspx">Optimization</category></item></channel></rss>