其他分享
首页 > 其他分享> > 空间距离排序导致的异常

空间距离排序导致的异常

作者:互联网

MySQL版本:5.7.30

简介:

        今天有同学反馈获取某个用户的附近的人数据时没有数据返回,这明显不正常,接下来为排查过程。

获取附近的人的语句如下:

SELECT

FLOOR(st_distance_sphere((select location from t_user_location where user_id = 1234), location)) distance,b.*

FROM t_family b

left join `t_family_location` a

on a.family_id = b.id

where st_distance_sphere((select location from t_user_location where user_id = 1234), location) < 81843200000

AND b.public=1

ORDER BY distance asc,b.id

排查过程如下:

1. 排除了没有数据的可能性;

2. 去掉order by,有结果返回;

3. 去掉order by distance,对其它字段进行排序,也有结果返回;

问题:

        为何这里对 order by distance 进行排序会导致没有结果返回呢?

查看warnings输出

> show warnings;

1210 Incorrect arg

标签:distance,family,where,距离,location,排序,异常,id,user
来源: https://blog.csdn.net/csdntestuser1/article/details/123616473