sql 에서 이런건 어떻게 하나요?

fruitsclipper의 이미지

다음과 같이 table 에 날짜와 그 날짜의 index 가 저장되어 있습니다.

2012.01.02 0
2012.01.05 1
2012.01.08 2

2012.01.07 에 대한 index 값을 찾으려면, 데이터가 없으므로 아무것도 안나옵니다,
대신에 2012.01.07 일 바로 이전의 값인 2012.01.05 일의 index 인 1 의 값을 가져오도록 하고 싶습니다.

이것을 sql 로 효율적으로 처리하려면 어떻게 해야 할까요?

powersys의 이미지

select index from table
where 날짜 = (
select max(날짜) from table
where 날짜 <= '2012.01.07'
)
;

익명 사용자의 이미지

select max(index) from table where 날짜 <= '2012.01.07';

익명 사용자의 이미지

익명으로 썼더니 지우는 법을 모르겠다는..ㅋㅋㅋ