안드로이드 개발 질문/답변
(글 수 45,052)
대략 목적이라하면
데이터에 경도와 위도가 저장되어있고
나의 위치를 받아서
나의 위치와 가장 가까운 경도,위도 데이터를 가져오려고합니다.
이것저것 생각해보니
일정 데이터가 저장되어있고 (ex. 1 4 7 10 13)
이중 5를 입력하면
4가 나오는 겁니다.
가장 근접한 수를 찾으면 될듯하여 알아봤는데
이게 학부때 배운 알고리즘이 있긴한데 데이터가 많으면 좀 그럴듯하고 느려질듯합니다.
가장 원하는 방법은 sql로 가장 근접한 수를 select해 가져오는건데
찾지못하고, 혹시나 방법이나 알고리즘 이름, 관련 메소드나 c,c++로 된 함수가 있다면
좀 가르쳐 주실수 있나 하여 이렇게 질문드립니다~




SQL을 쓰신다면
SELECT TOP 1 * FROM table
ORDER BY ABS(columnname - input)
하시면 됩니다.
table은 테이블 이름, columnname은 해당 데이터의 칼럼 이름, input은 입력 값을 넣으시면 됩니다.
즉, 차이 값의 절대치로 정렬해서 제일 앞에 있는 걸 뽑아 옵니다.