簡體   English   中英

在MySQL SELECT查詢中組合多個where條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM