mysql - 我如何在 MySQL 中订购此 SELECT 语句?

标签 mysql database select geolocation

cursor.execute("SELECT user_id FROM myapp_location WHERE\
       GLength(LineStringFromWKB(LineString(asbinary(utm), asbinary(PointFromWKB(point(%s, %s)))))) < %s"\
       ,(user_utm_easting, user_utm_northing, 500));

此查询选择距离当前用户 500 英尺以内的用户。我如何根据距离对人们进行排序? (g长度)。靠近的第一个,最远的最后。

您将如何更改此查询?谢谢。

最佳答案

这是一种方法

SELECT user_id
     , GLength(LineStringFromWKB(LineString(asbinary(utm), asbinary(PointFromWKB(point(%s, %s)))))) as glength
  FROM myapp_location
HAVING glength < %s"
 ORDER BY glength desc

关于mysql - 我如何在 MySQL 中订购此 SELECT 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480190/

相关文章:

php - 使用 PHP 创建 MongoDB 数据库

javascript - 在 ddSlick 下拉列表中获取所选 <option> 的值

mysql - 如何限制sql执行时间

php mysql、pdo 和查询 : why multiple 'query' don't work (in this case)?

database - 层次数据库(IMS DB)数据检索方式

mysql - 选择将多行合并为单行

mysql - 选择外键 MySQL

java - 如何在几毫秒内将数千条记录更新到 MySQL 数据库中

Mysql 在不同表中使用类似的两个变量

产品的 MySql、可选类别、子类别和子子类别