gpt4 book ai didi

MySQL搜索最接近的小于数值

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

我是 SQL 的新手,我似乎无法在其他任何地方找到这个问题的答案。我正在从事一个项目,该项目需要我在两个不同的网格之间进行转换,这在 Excel 中相当简单。我有 2 个这些表格的表格(填写前几行以供引用):

JDAY   TL1   TL2   TL3
1.5 148.2 147.3 146.4
2.5 150.2 150.1 150.0
3.5 151.1 150.7 150.3

Layer Elevation
2 150.9
3 149.9
4 148.9
5 147.9
6 146.9
7 145.9

在表 1 中,TL1、TL2、TL3 下的值是海拔,对应于表 2 中的海拔列。我想输出这样的 View :

JDAY   TL1   TL2   TL3
1.5 5 6 7
2.5 3 3 3
3.5 2 3 3

我需要为表1中的每个值在表2中搜索最近的小于高程的值,并输出相应的层数。我不确定如何执行此操作,因为海拔高度不完全匹配。这在 Excel 中使用 vlookup() 函数效果很好。另外需要注意的是,这只是一小部分数据……实际上有 15 个 TL 列和 365 个 JDAY 值。

最佳答案

它会很难看,但像这样的东西可能会:

SELECT JDAY, MAX(TL1) AS tl1, MAX(TL2) AS tl2, ...
FROM (
SELECT JDAY, othertable.Layer AS TL1, othertable.Layer AS TL2, etc...
FROM maintable
INNER JOIN othertable AS tl1 ON maintable.TL1 < othertable.TL1
INNER JOIN othertable AS tl2 ON maintable.TL2 < othertable.TL2
etc...
) AS subquery

基本上,内部查询获取所有连接的记录,其中其他表的高度小于主表的高度。然后另一个查询选择每个字段的 MAX(),这应该是您要查找的值。

关于MySQL搜索最接近的小于数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369238/

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