查詢當前經緯度一千米以內的用戶信息
代碼如下:
distance := 1000
sql := fmt.Sprintf(`SELECT ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((? * PI() / 180 - lt * PI() / 180) / 2),2) + COS(? * PI() / 180) * COS(lt * PI() / 180) * POW(
SIN((? * PI() / 180 - lg * PI() / 180) / 2),2))) * 1000) AS distance,a.*
FROM 表名 where (delete_time> ? or delete_time = 0)
HAVING distance <= %s ORDER BY update_time desc LIMIT ? OFFSET ?`, userExtInfo.Gender, distance)
Db.Raw(sql, lt, lt, lg, t, row, offset).Scan(&res)
userExtInfo.Gender指定要查詢的用戶性別