Mysql sql語句 按座標查詢 並按距離排序
阿新 • • 發佈:2021-01-08
引數1 :lat
引數2:lng
引數3: lat
引數4: 城市碼(可無)
引數5:限制?公里內
引數6:限制查詢的數量
1 sqlStr := `SELECT 2 id,longitude,latitude,institution_name,intro,mobile,address,cover, 3 ( 4 6371 * acos ( 5 cos ( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin ( radians( ? ) ) * sin( radians( latitude ) ) 6 ) 7 ) 8 AS 9 distance 10 FROM 11 nts_institution 12 WHERE 13 status=1 AND city=? 14 HAVING 15 distance < ? 16 ORDER BY 17 distance ASC 18 LIMIT ?;`
`SELECT id,longitude,latitude,institution_name,intro,mobile,address,cover, ( 6371 * acos ( cos ( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin ( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance FROM nts_institution WHERE status=1 AND city=? HAVING distance < ? ORDER BY distance ASC LIMIT ?;`