嗯,我有這個疑問有條件的PHP和MySQL查詢
$query = sprintf("SELECT price,
address,
state,
thumbnail,
name,
provider,
category,
latitude,
longitude,
(6371 * acos(cos(radians('%s')) * cos(radians(latitude)) * cos(radians(longitude) - radians('%s')) + sin(radians('%s')) * sin(radians(latitude)))) AS distance
FROM records
WHERE category IN ("1,2,3")
AND active = '1'
HAVING distance < '%s'
ORDER BY distance",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius));
它基本上抓住從表中交易的座標並計算這些點與用戶輸入的座標($ center_lat,LNG)之間的距離。然後根據距離對它進行排序。
數據庫中的某些記錄沒有經度和緯度,因此將不會返回,並且沒有座標的記錄的座標='0',其中具有座標的記錄的座標='1 」。
我的問題是如果我還想返回沒有座標的記錄?如果座標='0',如何繞過距離計算過程。
這非常有用,非常感謝 – william