У меня есть данные о ценах на товары в разных широтах и долготах. Я хочу найти возможности для получения прибыли, сравнивая разницу в цене с расстоянием, необходимым для поездок, чтобы получить лучшие цены. pseudocoded формула выглядит следующим образом в настоящее время:MySQL - разница между любыми двумя целыми числами в одном столбце
select (100*diff(avg(price))-50*diff(lon)-70*diff(lat)) as profit
Таким образом, я хочу, чтобы найти разницу между двумя значениями широты в наборе данных. Я видел ответы, которые объясняют, как найти различия между последовательными значениями или различиями в датах, но ничто, похоже, не касается моего конкретного вопроса.
Редактировать с моим текущим запросом (это должно просто дать мне два самых дальних городов широта мудры в порядке убывания): ВЫБРАТЬ лату LAT2 (LAT2 - лат) AS latdistance, город от покупки INNER JOIN покупки ПО (lat2 = lat) Order by latdistanceasc
Результат должен содержать список обоих городов, поскольку каждый из них вносит вклад в широту, хотя я не уверен, как заставить их отображаться на выходе.
Представьте 3 точек данных с (цена, широта, долгота): А (10, 30, 50) B (15, 50, 60) C (5, 20, 30)
Что такое широтное расстояние между любыми двумя точками (чтобы все было просто)? Вывода должен быть:
AB - 20 AC - 10 BC - 30
Вы должны указать конкретный пример: что у вас есть на входе и что вы ожидаете на выходе. Как было сказано, это может быть так же просто, как 'SELECT abs (lat1-lat2)' – mvp
добавлено редактирование с дополнительной информацией. – user3094386
Ваши правки не казались более ясными: вы должны указать конкретный пример того, что у вас есть и чего вы ожидаете (желательно с числами). Кстати, ваше дистанционное измерение в лучшем случае странно. Даже если бы не было совершенным, я бы использовал «sqrt ((lat1-lat2)^2 + (lon1-lon2)^2)» как метрику для расстояния. – mvp