LeetCode MySQL 1459 矩形面積

2021-10-08 07:29:09 字數 2092 閱讀 5023

表: points

+

----

----

-------

+---------

+| column name | type |+--

----

----

-----+

----

-----+

| id |

int|

| x_value |

int|

| y_value |

int|+--

----

----

-----+

----

-----+

id 是該錶主鍵.

每個點都表示為二維空間 (x_value, y_value)

.

寫乙個 sql 語句, 報告由表中任意兩點可以形成的所有可能的矩形.

結果表中的每一行包含三列 (p1, p2, area) 如下:

p1 和 p2 是矩形兩個對角的 id 且p1 < p2.

矩形的面積由列 area 表示.

請按照面積大小降序排列,如果面積相同的話, 則按照 p1 和 p2 公升序對結果表排序

points 表:+--

----

----+--

----

-------

+------

-------

+| id | x_value | y_value |+--

----

----+--

----

-------

+------

-------

+|1|

2|8|

|2|4

|7||

3|2|

10|+--

----

----+--

----

-------

+------

-------

+result 表:+--

----

----+--

----

-------

+------

-------

+| p1 | p2 | area |+--

----

----+--

----

-------

+------

-------

+|2|

3|6|

|1|2

|2|+

----

------+

----

----

-----+

----

----

-----+

p1 應該小於 p2 並且面積大於 0.

p1 =

1 且 p2 =

2 時, 面積等於 |2-

4|*|

8-7|

=2.p1 =

2 且 p2 =

3 時, 面積等於 |4-

2|*|

7-10|

=6.p1 =

1 且 p2 =

3 時, 是不可能為矩形的, 因為面積等於 0.

# write your mysql query statement below

select p1.id p1, p2.id p2,

abs(p1.x_value-p2.x_value)

*abs(p1.y_value-p2.y_value) area

from points p1, points p2

where p1.id < p2.id

and p1.x_value != p2.x_value

and p1.y_value != p2.y_value

order

by area desc

, p1.id, p2.id

246 ms

我的csdn部落格位址

LeetCode MySQL日期比較函式

leetcode題目 表 weather column name type id int recorddate date temperature int id 是這個表的主鍵 該錶包含特定日期的溫度資訊 編寫乙個 sql 查詢,來查詢與之前 昨天的 日期相比溫度更高的所有日期的 id 返回結果 不要...

leetcode mysql 刪除重複的電子郵箱

1 題目 編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。id email 1 john example.com 2 bob example.com 3 john example.com id 是這個表的主鍵。例如,在執行你的查詢語句之後...

leetcode mysql 從不訂購的客戶

1 題目 某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例如給定上述 你的查...