sql 도움을 부탁합니다.

sql 도움을 부탁합니다.

QA

sql 도움을 부탁합니다.

답변 4

본문

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

 

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;

으로 해보세요~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,723
© SIRSOFT
현재 페이지 제일 처음으로