본문 바로가기

Programming/mssql2005

일정 개수 이전의 데이터를 확인하는 SQL

-- 일정 개수 이전의 데이터를 확인하는 SQL
SELECT * FROM DUMMY_TABLE10
WHERE D_VAL1 < ALL (SELECT TOP 100 D_VAL1 FROM DUMMY_TABLE10 ORDER BY D_VAL1 DESC)
ORDER BY D_VAL1 DESC;

위 질의를 응용하면 다음과 같다.

-- 일정 시간 이전의 데이터를 모두 삭제, 최근의 데이터 일정개수는 남겨두고 과거의 데이터를 삭제한다.
-- D_VAL1이 날짜 형식이 됨
DELETE FROM DUMMY_TABLE10
WHERE D_VAL1 < ALL (SELECT TOP 100 D_VAL1 FROM DUMMY_TABLE10 ORDER BY D_VAL1 DESC);