如何获得小于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, 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

ORDER BY distance
LIMIT 0 , 10
    

要回复问题请先登录注册