sql 도움을 부탁합니다.

sql 도움을 부탁합니다.

QA

sql 도움을 부탁합니다.

본문

아래처럼 데이터가 있을 경우

 

tbl name : test

 

id     min     max

1       11       20

2      21       30  

3      31       40

4      41       50

 

검색은 min과 max를 구간으로 판단해 해당구간의 id를 조회합니다.

예) 25가 검색어일 경우 검색 id는 2

 

 

이 질문에 댓글 쓰기 :

답변 4


$num = 25;
$sql = "SELECT * FROM test";
$res = sql_query($sql);
while($row = sql_fetch_array($res)) {
 if($row['max'] < $num) continue;
 $id = $row['id'];
 if($id) break;
}
echo $id;

 

$sql ="SELECT id FROM test WHERE $some_value_25 between min AND max";
$row = sql_fetch($sql);

님이 답 달아주셨는데 새벽이라 작성자님이 못본거 같네요 ㅎㅎ

어제 밤에 이글 보고 느꼈습니다.
PHP 개발자는 PHP 로만 해결하려고 한다는걸 ㅋㅋ

- 어설픈 풀스택 개발자 -

설명 부족입니다

min, max가 항상 설명 처럼 (11 , 20) ~~ (91, 100) ~~ (501, 510)

이런 상황인가요?

그게 아니라면 min, max 값 등록시 어떤 규칙이라도 있는 것인가요?

 

균이 님,  방법이 더 좋네요.

$num = 25;
$stx = floor($num / 10) * 10;
$min = $stx +1;
$max = $stx + 10;
$sql ="SELECT id FROM test WHERE min = $min AND max = $max";
$row = sql_fetch($sql);
echo $row['id']; // 2

SELECT id FROM test where between 21 and 30;

으로 해보세요~

답변을 작성하시기 전에 로그인 해주세요.
전체 123,517 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT