我有一个 sqlite 数据库的位置。(数据库中的每一行都是一个带有 lat 和 lng 的位置)我想查询那个 db 以找到离我最近的位置。当我做这样的事情时,我能够只返回位置,我得到一个很好的距离数字列表。
SELECT ( 38.9672071 - lat) * ( 38.9672071 - lat) + ( -77.5124503 - lng) * ( -77.5124503- lng) * 0.6045156141643896 AS distance FROM pois ORDER BY distance ASC LIMIT 2
但我不想只知道到每个点的距离,我想从我的数据库中选择整行,按内联创建的距离公式排序。这是我的sqlite查询:
SELECT * ( 38.9671889 - lat) * ( 38.9671889 - lat) + ( -77.5124857 - lng) * ( -77.5124857- lng) * 0.6045159247970772 AS distance FROM pois ORDER BY distance ASC LIMIT 2
这给了我这个错误:
android.database.sqlite.SQLiteException: near "(": syntax error (code 1): , while compiling: SELECT * ( 38.9671889 - lat) * ( 38.9671889 - lat) + ( -77.5124857 - lng) * ( -77.5124857- lng) * 0.6045159247970772 AS distance FROM pois ORDER BY distance ASC LIMIT 2
我是 sql 语句的菜鸟,我不确定语法错误是什么。