gpt4 book ai didi

MySQL:用最接近的新表中的值替换列的值

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

我有两个这样的表:

表 1(ID、公里、深度)
Table2(ID、公里、深度)

Sample Data:
Table 1
1, 0.001, 10
2, 0.002, 11
3, 0.003, 11

Table 2
1, 0.001, 10
2, 0.003, 12
3, 0.004, 15

我需要根据Kilometers值将表1中的深度替换为表2中的深度。

但是,对于表 1 中的每个人,表 2 中可能没有公里值。因此我需要获取最接近的值(按公里)并在替换中使用它的深度。

我希望通过一条 SQL 语句来实现这一点。直接替换就像:

UPDATE T1, T2 SET T1.Depth = T2.Depth WHERE T1.Kilometers = T2.Kilometers

有什么方法可以调整它以获得最接近的值?

最佳答案

这很简单,可以做你想做的事:

UPDATE table1 SET depth = (
SELECT depth FROM table2
ORDER BY (ABS(table1.kilometers-table2.kilometers)) ASC
LIMIT 1
);

-- Query OK, 2 rows affected (0.00 sec)

mysql> select * from table1;
+----+------------+-------+
| id | kilometers | depth |
+----+------------+-------+
| 1 | 0.001 | 10 |
| 2 | 0.002 | 10 |
| 3 | 0.003 | 12 |
+----+------------+-------+

关于MySQL:用最接近的新表中的值替换列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895599/

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