我有两张桌子,一张有deals
,一张有companies
。
在与公司的表中,我有 lat's 和 lng's。通过子查询,我可以获得交易、公司以及交易与特定位置之间的距离。但我想要一个包含最接近该位置的 3 个交易 ID 的列。
10.4.6-MariaDB
我用:
SELECT
deals.*,
(
6371 * acos(
cos(radians(51.957478)) *
cos(radians(companies.lat )) *
cos(radians(companies.lng ) - radians(4.493695)) +
sin(radians(51.95747)) *
sin(radians(companies.lat))
)
) AS distance
FROM `deals`
LEFT JOIN `companies` ON `deals`.cid = `companies`.id
这给出了:
id: cid: distance:
15 125 1.25152
etc.
我想:
id: cid: distance: closest_companies:
15 125 1.25152 126, 127, 128, 129 <- these are cid's (just an example)