MSSQL(SQL SERVER) 에서 특정 컬럼 order by 했을 때 n번째 row를 select 하는 방법이 있을까요?

조회수 558회

mssql을 상용중입니다.

test란 테이블의 row 수가 10만개 이상일 경우 데이터 로우 수를 관리 하는 배치 파일을 작성 중입니다. sqlite3같은 DB와 달리 id가 자동 생성 되지 않아서 플로우 짜는데 조금 헷갈리네요...

데이터에는 각 로우를 삽입한 시간 컬럼이 존재합니다. 그리고 test라는 테이블에 데이터가 10만개일 때 5만 번째에 있는 데이터의 시간을 기준으로 해당 삽입 시간보다 더 과거인 데이터는 모두 삭제하려고합니다.

방법이 있을까요?

  • 질문 제목과 질문 본문이 서로 이해관계가 상충하는데... 시간컬럼 기준으로 DESC 정렬 걸은 다음 TOP 50000 으로 가져다 쓰시면 안되는 건가요? 엽토군 2020.10.20 17:28
  • 그러게요 제가 글을 올려놓고도 뒤늦게 그생각이 났네요... 김재민 2020.10.21 06:44

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)