MySQL搜索一个项目和远处的所有对象

标签 mysql sql subquery

我有一个查询,根据地理坐标搜索一定距离内的所有行:

SELECT LOCATIONS.*, 
       ( ( ACOS(
                  SIN(" . $location->Lat . " * PI() / 180)
                  * SIN(LAT * PI() / 180) 
                  +
                  COS(" . $location->Lat . " * PI() / 180)
                  * COS(LAT * PI() / 180) 
                  * COS( ( " . $location->Lng . " - LNG ) * PI() / 180)
               )
               * 180 / PI()
         )
         * 60 * 1.1515
       ) AS DISTANCE 
FROM   LOCATIONS 
HAVING DISTANCE <= 100 
ORDER  BY DISTANCE ASC 

我想知道是否可以搜索表的第一条记录,然后将其作为基础 - 使用其经纬度坐标?

我曾尝试通过子查询实现此目的 - 但运气不佳

有人可以给我建议吗?

最佳答案

使用 CREATE TEMPORARY TABLE AS SELECT ... LIMIT 1 将“基本”记录本身放入临时表中。然后从上面的查询中加入临时表。

参见 http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

关于MySQL搜索一个项目和远处的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098391/

相关文章:

jpa - FROM 子句中的 JPA 子查询是否可能?

php - MySQL服务器消失了,PHP中的PDO和max_allowed_pa​​cket

mysql - "IN"子句中的子查询

SQL (server 2016) - 使用 CASE 的结果作为子查询的 where 子句

SAS 中的 SQL 直通

sql - 从 Openquery 中删除

mysql - 复杂的mysql查询可能会构建子查询

c# - SQL连接错误或数据库表名错误

MySQL 错误代码 1215 : Cannot add foreign key Constraint

mysql - 如何从具有不同行的mysql表中获取最小最大值和平均值?