[英]Combining multiple where conditions in mysql SELECT query
所以這是我的問題:
我有一個數據庫表,其中有緯度和經度以及一個時間戳。 我需要能夠使用PHP在此表中進行搜索。 查詢將是要查找在一定范圍內,並且在一定時間范圍內具有經度和緯度的行。
我發現兩個單獨的查詢可以在通過Internet瀏覽時工作,但找不到結合多個條件的明確方法。
這兩個查詢是:
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) *
cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) *
sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0 , 20;
在這里輸入代碼
SELECT * FROM `table` WHERE `date_field` BETWEEN 'date1' AND 'date2'
我需要找到時間戳記,緯度和經度在范圍內的前20個結果。 謝謝!
編輯:所有字段都在同一張表中。
如果所有數據都在同一表中,則可以執行以下操作:
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
FROM markers
WHERE date_field BETWEEN 'date1' AND 'date2'
HAVING distance < 25
ORDER BY distance
LIMIT 0 , 20;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.