0

我有两张桌子,一张有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)
4

0 回答 0