我有這個疑問:數查詢返回意外的結果
SELECT
count(*) as count ,
(3959 * acos(
cos(radians(37.774929)) * cos(radians(lat)) * cos(radians(lng) - radians(-122.419418))
+ sin(radians(37.774929)) * sin(radians(lat))
)) AS distance
FROM users
HAVING distance < 150
我認爲這是要給我是誰在150英里半徑的用戶的數量。但相反,它給了我的用戶總數。如果lat/lng不同,那麼當有一些用戶在那裏時,它會給我零用戶的數量。
任何想法如何改變這個查詢,以獲得150米範圍內的用戶數量?
謝謝!
+1來自@Dirk和@Dems的回答。我的補充評論是:HAVING不是與訪問別名的地方。 :-) –