我想用filter by near by和距离限制从mysql数据库中获取行

zyfwsgd6  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(317)

我想从中提取行 MySql 数据库具有近距离过滤和距离限制。我已经创建了一个查询,可以很好地获取附近的数据,但是我想添加一个距离限制条件,这意味着如果我想要位置为20公里的行。这是在附近工作的查询。

  1. $lat="";
  2. $lon="";
  3. $sql="SELECT *,
  4. 111.111 *
  5. DEGREES(ACOS(COS(RADIANS(".$lat."))
  6. * COS(RADIANS(Lat))
  7. * COS(RADIANS(".$lon." - Lon))
  8. + SIN(RADIANS(".$lat."))
  9. * SIN(RADIANS(Lat)))) AS d
  10. FROM Table
  11. ORDER BY d"
wswtfjt7

wswtfjt71#

您可以使用having子句来实现这一点

  1. $sql="SELECT *,
  2. 111.111 *
  3. DEGREES(ACOS(COS(RADIANS(".$lat."))
  4. * COS(RADIANS(Lat))
  5. * COS(RADIANS(".$lon." - Lon))
  6. + SIN(RADIANS(".$lat."))
  7. * SIN(RADIANS(Lat)))) AS d
  8. FROM Table HAVING d <= 20
  9. ORDER BY d"

相关问题