database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7207 게시물 읽기
No. 7207
근접 값 찾기...
작성자
초보초보
작성일
2020-02-17 15:08
조회수
384

안녕하세요....

문의 사항이 또 생겼습니다. 미치 겠습니다. 계속 뭘 이렇게 요구 하는지...ㅜㅜ

가장 근접한 값을 찾아야 하는데..... 소숫점자리가 일단 10자리 고요.. 여기서 가장 근접 값을 찾아야 합니다. 1개만...ㅜㅜ

 

 VALUE

-------------

 

-0.565093371
-0.567006222
-0.569098403
-0.57142969
-0.573163212
-0.575315169
-0.577347574
0.579260425
0.581412383
0.583385011
0.585297862
0.587629149
0.589601777
0.591693958
0.593666586
0.595758767
0.597731395
0.599823576
0.601796204

 위 데이터 중  0.588583에 가장 근접한 값 1개를 찾아야 하는 미션입니다.  ABS 함수 보고 있지만, 이렇게 소수점이 많고 근사 값이 많은데...

이게 표현이 가능할지 모르겠습니다. ㅜㅜ 

부디 도움의 손길을... ㅜㅜ 감사합니다.

 

이 글에 대한 댓글이 총 5건 있습니다.
참고요 ... 
 
with tmp as ( 
select -0.565093371 as val union all 
select -0.567006222 as val union all 
select -0.569098403 as val union all 
select -0.57142969 as val union all 
select -0.573163212 as val union all 
select -0.575315169 as val union all 
select -0.577347574 as val union all 
select 0.579260425 as val union all 
select 0.581412383 as val union all 
select 0.583385011 as val union all 
select 0.585297862 as val union all 
select 0.587629149 as val union all 
select 0.589601777 as val union all 
select 0.591693958 as val union all 
select 0.593666586 as val union all 
select 0.595758767 as val union all 
select 0.597731395 as val union all 
select 0.599823576 as val union all 
select 0.601796204 as val ) 
select top (1) 
* from tmp 
order by val -  0.588583 desc 
.님이 2020-02-17 15:26에 작성한 댓글입니다. Edit

1. 큰 수 중에 가까운 값인지? 작은 수 중에 가까운 값인지? 모든 수 중에 가까운 값인지?
2. 모든 수 중에 가까운 값인 경우, 큰 수와 작은 수가 동일하게 근접했다면? 어느게 우선인지?
위 사항들 고려하여 기준을 정확하게 정하시고.
윗분 답변 참고하시면 됩니다.
ABS 함수가 사용될 수도 있구요.

마농(manon94)님이 2020-02-17 15:42에 작성한 댓글입니다.

 마농님, 

답변 너무 감사 드립니다. 

윗 분도 너무 좋은 글 감사 드립니다. 

일단 저는 order by 에 abs 함수 써서 order by abs(value - 0.588583) 으로 했는데..

운좋게 데이터가 나왔어요.. 근데 말씀 들어 보니까.... 경우의 수가 많아 지면 마농님 말씀을 대로, 

봐야 하겠네요...ㅜㅜ .. 

모든 수 중에 가장가까운 값이 가장 우선 되어야 하며, 

모든 수 중에 가까운 값이 큰수와 작은수가 동일하게 접근하면 작은 수 우선이라고 합니다. 

마농님, 바쁘시겠지만, 도움 요청 드려도 될까요?

감사합니다. 

초보초보님이 2020-02-17 17:29에 작성한 댓글입니다. Edit

원하는 결과가 나오도록 정렬하시면 됩니다.
 ORDER BY ABS(val - 0.588583), val

마농(manon94)님이 2020-02-17 19:02에 작성한 댓글입니다.

 마농님, 

감사합니다. ^^.. 덕분에 많은 부분 배웠습니다. 

댓글 같이 주신  .님도 감사드립니다. 

모두 건승하세요.. ^^

초보초보님이 2020-02-18 09:27에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7210오라클 프로시져를 MSSQL SP로 변환하는데 도움이 필요합니다. [1]
정희준
2020-04-07
224
7209한번 더 도와 주세요.. 부탁 드립니다. [2]
초보초보
2020-02-19
435
7208근사값 찾는 쿼리 한번 더 부탁 드립니다. 죄송합니다. [2]
초보초보
2020-02-18
392
7207근접 값 찾기... [5]
초보초보
2020-02-17
384
7206어려운 쿼리 문의 드립니다. 도와 주세요. [4]
초보초보
2020-02-13
397
7205unpivot 관련 문의 [4]
초보초보
2020-02-12
386
7204rollup관련해서 도와주세요 ㅜㅜ [3]
JJ
2020-02-10
409
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.078초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다