表: 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 例如給定上述 你的查...