gpt4 book ai didi

mysql - 显示匹配对并返回

转载 作者:行者123 更新时间:2023-11-29 15:15:04 25 4
gpt4 key购买 nike

我被作业中的一个问题难住了。

在单个表 (Condo_Unit) 上,我们有多个列 - CondoID、UnitNum、SqrFt(平方英尺)等。

我需要找到一个查询,可以显示任何一对具有相同平方英尺的公寓的 UnitNum 。例如,公寓 305 和 409 的面积均为 1500 英尺。输出必须显示成对的两套公寓

在此阶段,我可以生成一个列表,仅显示两个结果列中重复的一对(即单元 305 显示两次,而不是 305 | 409),使用:

SELECT UnitNum, UnitNum 
FROM condo_unit
GROUP BY SqrFt
HAVING Count(SqrFt) >1;

示例数据包括:

Condo ID | UnitNum | SqrFt
1 | 102 | 675
2 | 201 | 1030
3 | 305 | 1500
4 | 409 | 1500
5 | 104 | 1030
6 | 207 | 870

从该数据中,我们可以看到单元 201 和 104 以及 305 和 409 是一对匹配的单元

结果应显示:

1st Unit | 2nd Unit
201 | 104
305 | 409

我目前得到的结果是:

1st Unit | 2nd Unit
201 | 201
305 | 305

有人可以提供帮助,或者需要进一步说明吗?

最佳答案

查询:

SELECT 
DISTINCT least(t.c,t.d) as "1st Unit",
greatest(t.c,t.d) as "2nd Unit"
FROM
(SELECT a.UnitNum c,b.UnitNum d
FROM world.condo a JOIN world.condo b
WHERE a.SqrFt=b.SqrFt AND a.Condo_ID!=b.Condo_ID) t;

输出:

enter image description here

关于mysql - 显示匹配对并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59744529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com