如何获得小于500的距离?

问题描述

| 这是我使用纬度经度值计算距离的查询。
SELECT mm.mem_id,mm.profilenam,mm.photo_thumb,mm.city,mm.zip,mm.country,mm.state,( 3956 *2 * ASIN( SQRT( POWER( SIN( ( 34.1012181 - ABS( latitude ) ) * PI( ) /180 /2 ),2 ) + COS( 34.1012181 * PI( ) /180 ) * COS( ABS( latitude ) * PI( ) /180 ) * POWER( SIN( (
ABS( - 118.325739 ) - ABS( longitude ) ) * PI( ) /180 /2 ),2 ) ) )
) AS distance
FROM members AS mm
WHERE mm.profile_type =  \'C\'
ORDER BY distance
LIMIT 0,10
我希望距离<500,但是当我输入查询时 ... <500 AS距离,它不起作用 我如何获得最终查询。     

解决方法

        你有没有尝试过
SELECT mm.mem_id,mm.profilenam,mm.photo_thumb,mm.city,mm.zip,mm.country,mm.state,( 3956 *2 * ASIN( SQRT( POWER( SIN( ( 34.1012181 - ABS( latitude ) ) * PI( ) /180 /2 ),2 ) + COS( 34.1012181 * PI( ) /180 ) * COS( ABS( latitude ) * PI( ) /180 ) * POWER( SIN( (
ABS( - 118.325739 ) - ABS( longitude ) ) * PI( ) /180 /2 ),2 ) ) )
) AS distance
FROM members AS mm
WHERE mm.profile_type =  \'C\'
HAVING distance<500
    ,        由于这是派生列,因此您需要使用HAVING子句
SELECT mm.mem_id,( 3956 *2 * ASIN( SQRT( POWER( SIN( (        34.1012181 - ABS( latitude ) ) * PI( ) /180 /2 ),2 ) + COS( 34.1012181 * PI( ) /180 ) * COS( ABS( latitude ) * PI( ) /180 ) *   POWER( SIN( (
ABS( - 118.325739 ) - ABS( longitude ) ) * PI( ) /180 /2 ),2 ) ) )
) AS distance
FROM members AS mm
WHERE mm.profile_type =  \'C\'

HAVING distance < 500

ORDER BY distance
LIMIT 0,10
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...