【发布时间】:2020-04-12 13:07:07
【问题描述】:
我有 2 个表,一个是用户,第二个是位置 位置与用户是一对多的关系。 我想根据条件距离(km)> 0.01 的最新位置列出所有用户。请问有人吗?
我尝试了 .syntax 错误(查询 1 错误:'where 子句'中的未知列 'd')
SELECT *, (SELECT distance
from locations
where locations.user_id = users.id
order by created_at DESC
LIMIT 1
) as d
from users
where d > 0.01
编辑
表格 - 用户 - 位置(多个)(id、user_id、lat、lng、距离、created_at)
预期结果 - 最新位置包含的距离小于 0.1(双倍距离)的用户列表(不重复)
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。距离是如何计算的?
-
@Gordon Linoff 插入时自动计算距离。在双
-
我们应该猜吗? MySQL 不返回简洁的“语法错误”。返回的错误通常有一个有用的提示,错误编号在 MySQL 文档中描述。
-
是,查询 1 错误:'where 子句'中的未知列 'd'