613. Shortest Distance in a Line
Description
Table: Point
+++  Column Name  Type  +++  x  int  +++ In SQL, x is the primary key column for this table. Each row of this table indicates the position of a point on the Xaxis.
Find the shortest distance between any two points from the Point
table.
The result format is in the following example.
Example 1:
Input: Point table: ++  x  ++  1   0   2  ++ Output: ++  shortest  ++  1  ++ Explanation: The shortest distance is between points 1 and 0 which is (1)  0 = 1.
Follow up: How could you optimize your solution if the Point
table is ordered in ascending order?
Solutions
Solution 1: SelfJoin
We can use a selfjoin to join each point in the table with the larger points, and then calculate the distance between the two points. Finally, we can take the minimum distance.
SQL Code


Solution 2: Window Function
We can use a window function to sort the points in the table by their $x$ values, and then calculate the distance between adjacent points. Finally, we can take the minimum distance.
SQL Code

