티스토리 뷰

생활코딩/TIP

MSSQL 이전글, 다음글

우봉이 2015. 4. 28. 09:23

이번에는 간단하게 게시판을 구현할 때 이전글, 다음글을 위한 MSSQL 쿼리 입니다.


검색해보면 이것저것 나오고 하겠지만, 저도 제 정리를 위해서 ㅎㅎ


MSSQL은 SELECT에서 TOP이란 걸 사용할 수 있습니다.


쿼리 결과에서 위의 몇개만 가져오게 하는 명령어 이고, 갯수를 정의할 수 있습니다.


이 TOP과 정렬방식과 해당 게시물의 번호를 이용해서 이전글과 다음글을 구하는 쿼리는 다음과 같습니다.

		SELECT TOP 1 NOTICE_SEQ, NOTICE_TITLE, UPDATEDAT
		FROM NOTICE
		<![CDATA[
		WHERE IS_DEL = 0 AND  NOTICE_SEQ < 100
		]]>
		ORDER BY NOTICE_SEQ DESC

이것은 이전글로 해당글이 100번 게시물이였을 때 100번 게시물보다 작은 게시물 중에 내림차수로 정렬하여, 가장 위에 값을 가져오는 것이고, 다음글은 이것과 반대로 생각하시면 됩니다.

		SELECT TOP 1 NOTICE_SEQ, NOTICE_TITLE, UPDATEDAT
		FROM NOTICE
		WHERE IS_DEL = 0 AND NOTICE_SEQ > 100
		ORDER BY NOTICE_SEQ ASC

크게 어려운 부분은 아니였지만 정리해두니 마음이 편합니다.


<![CDATA[ ]]> 이 부분은 사실 MYBATIS에서 "<" 이 문자를 인식하는 데에서 태그로 인식하려는게 있어서 그것을 방지하기 위한 것입니다.


뭐.. 100 > NOTICE_SEQ 처럼 반대로 적으시면..안적어도 무방합니다. 감사합니다. ^^

댓글