这是我的问题:我有两个表 - 邮编表和供应商表。 我想要做的是,当我输入一个邮政编码时,让某个半径范围内的所有供应商(基于他们的邮政编码)。我到目前为止工作。MySQL更改返回值
但这是事情。我需要根据距离划分结果。我需要有几个团队:10英里以内,50英里以内,100英里以内。我想要做的(如果可能的话)是将10英里以下的所有值更改为10,11到50到50之间的所有值以及51和100之间的所有值到100。
到目前为止,我的查询返回正确的结果。我需要帮助如何用我需要的距离替换实际的距离值。
SELECT SQL_CALC_FOUND_ROWS
3959 * 2 * ASIN(SQRT(POWER(SIN((:lat - zipcodes.zip_lat) * pi()/180/2), 2) + COS(:lat * pi()/180) * COS(zipcodes.zip_lat * pi()/180) * POWER(SIN((:lon - zipcodes.zip_lon) * pi()/180/2), 2))) AS distance,
vendors.*
FROM
guzaba_vendors AS vendors
INNER JOIN guzaba_zipcodes AS zipcodes ON zipcodes.zip_code = vendors.vendor_zipcode
WHERE
vendors.vendor_status != 4
GROUP BY
vendors.vendor_id
HAVING distance < 100
谢谢!正是我在找什么! – darighteous1