gpt4 book ai didi

MySQL - 查找同一列中任意两个整数之间的差异

转载 作者:行者123 更新时间:2023-11-30 23:49:12 25 4
gpt4 key购买 nike

我有关于不同纬度和经度的商品价格的数据。我希望通过比较价格差异与获得更好价格所需的行进距离来寻找获利机会。伪代码公式目前看起来像这样:

select (100*diff(avg(price))-50*diff(lon)-70*diff(lat)) as profit

因此,我希望找到数据集中任意两个纬度值之间的差异。我看到过解释如何找出连续值之间的差异或日期差异的回复,但似乎没有任何内容可以解决我的特定问题。

使用我当前的查询进行编辑(这应该只是按降序向我提供纬度最远的两个城市):选择 lat AS lat2, (lat2 - lat) AS latdistance, cityFROM buying INNER JOIN buying ON (lat2 = lat)按 latdistanceasc 排序

输出应该列出所涉及的两个城市,因为每个城市都贡献了一个纬度,尽管我不确定如何让它们都显示在输出中。

假设有 3 个数据点(价格、纬度、经度):一个 (10, 30, 50)乙 (15, 50, 60)C (5, 20, 30)

任意两点之间的纬度距离是多少(为简单起见)?输出应该是:

AB - 20交流 - 10公元前 - 30

最佳答案

此查询适用于您的条件:

SELECT b1.city start,
b2.city finish,
abs(b1.latitude - b2.latitude) latdistance
FROM buying b1, buying b2
WHERE b1.city < b2.city
ORDER BY 3

但是你应该被警告,它是昂贵的并且它会增加行数 O(n^2)

要使用更好的距离度量标准,请使用:

SELECT b1.city start,
b2.city finish,
sqrt(pow(b1.latitude - b2.latitude, 2)
+ pow(b1.longitude - b2.longitude, 2)) latdistance
FROM buying b1, buying b2
WHERE b1.city < b2.city
ORDER BY 3

两个查询都在 SQLFiddle .

关于MySQL - 查找同一列中任意两个整数之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20538012/

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