Leetcode 613 - Shortest Distance Problem

Problem

Table point holds the x coordinate of some points on x-axis in a plane, which are all integers.

Write a query to find the shortest distance between two points in these points.

Examples

Table: Point

| x   |
|-----|
| -1  |
| 0   |
| 2   |

The shortest distance is ‘1’ obviously, which is from point ‘-1’ to ‘0’. So the output is as below:

| shortest|
|---------|
| 1       |

Note: Every point is unique, which means there is no duplicates in table point.

Solution

Method 1 - Self Join

Code

Sql
SELECT MIN(ABS(p2.x-p1.x)) AS shortest
FROM Point p JOIN Point q ON p1.x != p2.x