집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 데이터베이스 테이블에서 가장 가까운 숫자 일치를 찾는 방법은 무엇입니까?
데이터베이스 테이블에서 가장 가까운 숫자 값 찾기
당면 작업은 지정된 숫자 값과 가장 근접하게 일치하는 레코드를 검색하는 것입니다. 데이터베이스에서.提供的SQL语句는 여러 기준의 정확한 일치를 기반으로 레코드를 검색하지만 정확한 일치가 없을 때 가장 가까운 일치를 식별하는 기능이 부족합니다.
이 문제를 해결하기 위해 다음 접근 방식을 활용할 수 있습니다.
거리 계산
우리는 다음과 같은 절대 차이를 계산하는 것부터 시작합니다. 각 데이터베이스 레코드의 목표 값과 "영역" 필드. 절대값은 거리가 항상 양수임을 보장하므로 쉽게 비교할 수 있습니다.
결과 정렬
다음으로 계산된 값을 기준으로 오름차순으로 레코드를 정렬합니다. 거리. 이 배열은 거리가 가장 짧거나 가장 가까운 일치 항목을 결과 집합의 시작 부분에 배치합니다.
최상위 일치 항목 검색
마지막으로 TOP를 사용합니다. 거리가 가장 짧은 레코드를 검색하는 절이 1개 있으며, 대상 값과 가장 가까운 일치 항목을 나타냅니다.
업데이트된 SQL 쿼리
위 접근 방식을 통합한 업데이트된 SQL 쿼리는 다음과 같습니다.
SELECT TOP 1 * FROM [myTable] WHERE Name = 'Test' AND Size = 2 AND PType = 'p' ORDER BY ABS(Area - @input)
이 쿼리는 지정된 입력 값 @input에 가장 가까운 "Area" 값이 있는 레코드를 반환합니다. .
위 내용은 SQL을 사용하여 데이터베이스 테이블에서 가장 가까운 숫자 일치를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!