gpt4 book ai didi

mysql - 按间隔连接两个表

转载 作者:行者123 更新时间:2023-11-29 01:39:23 24 4
gpt4 key购买 nike

在 SQL 中,假设我有表 A

ID
--
1
3
5

和表B

ID2
---
1
2
3
4
5
6

得到类似的结果:

ID |  ID2
----------
1 | 1
1 | 2
3 | 3
3 | 4
5 | 5
5 | 6

作为解释,列 ID2 中的元素将映射到列 ID 中小于或等于 ID2 中所述元素的最大值。

例如,列ID2中的4从列ID映射到3,因为3是列ID中小于等于4的最大值。

是否可以在 sql 中执行此操作?

最佳答案

我会做的是首先连接两个表,条件是第一个表中的 id 小于或等于第二个表中的 id,如下所示:

SELECT t1.id, t2.id AS id2
FROM t1
JOIN t2 ON t2.id >= t1.id;

一旦你有了它,你就可以从第一个表中选择最大的 id,并根据第二个表中的 id 进行分组以获得最大的对:

SELECT MAX(t1.id) AS id, t2.id AS id2
FROM t1
JOIN t2 ON t2.id >= t1.id
GROUP BY t2.id;

SQL Fiddle 似乎已关闭,但我会尽快更新链接。

关于mysql - 按间隔连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29992746/

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