2013-03-09 3 views
0

지역에있는 특정 사용자를 쿼리하려고합니다. 나는이 표했습니다 :SQL, 지역의 지형으로 선택하십시오.

  • 노스 웨스트 (위도, LNG)
  • :

    Users (user_id, username, user_latitude, user_longitude)

    을 나는 2 점에 의해 정의 된 영역을 가지고 남동 (북, 일)

사용자를 얻는 방법 그 지역에있는 지형은?

당신이 같이 할 수

+0

사용자가 해당 지역에 속한 것으로 간주되어야 할 때 일반 영어 (SQL이 아님)로 조건을 작성할 수 있습니까? 힌트 : 사용자의 경도와 위도는 각각 일정한 간격을두고 있어야합니다. –

+0

쿼리는 다음과 같을 것입니다 : user.lat <= NorthWest.lat && user.lng> = NorthWest.lng && user.lat> = SouthEast.lat && user.lng <= SouthEast.lng, 그렇지 않습니까? 그것? –

+0

주석에 붙여 넣는 대신 원본 게시물에 추가하십시오. –

답변

0

순진하지만 간단한 방법을 :) 감사, 지역 가정은 사각형과 비슷하다

SELECT * FROM Users WHERE (user_latitude >= 1.2393 AND user_latitude <= 1.5532) 
AND (user_longitude >= -1.8184 AND user_longitude <= -1.654) 

보다 정교한 요구를 들어, 지리 공간 기능을 사용해야합니다.

+1

또는보다 직관적 인 양식을 위해 우리는'BETWEEN'을 사용할 수 있습니다 –

+0

맞습니다. 실제로 그것은 더 직관적입니다. – cara