标签:distance family where 距离 location 排序 异常 id user
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。