관리 메뉴

웹개발자의 기지개

게시판 목록 Listing 로직 본문

ASP.NET

게시판 목록 Listing 로직

http://portfolio.wonpaper.net 2018. 11. 18. 14:52

게시판 목록을 뿌려줄때 언제나 고민하게 되는 사항이다. (MS-SQL 기준)
꼭 알자 !!


1. select * from board 

--> 누구나 익숙한 목록 쿼리다


2. SELECT TOP @PageSize * FROM board 
      WHERE no NOT IN
             (SELECT TOP (@iPage * @PageSize) no  FROM board 
             ORDER BY no ASC)
      ORDER BY no ASC

--> 서브 쿼리를 이용하는 방법이다.


      @iPage : 현재 페이지번호 (기본값 0)  , @PageSize : 한페이지당 출력할 게시글수


  만약, 1페이지에서 해당 게시글 10개 가져온다면 다음과 같다.


    SELECT TOP 10 * FROM board 
      WHERE no NOT IN
            (SELECT TOP 0 no FROM board 
             ORDER BY no ASC)
      ORDER BY no ASC
 


3.  select * from board
         where thread in
             ( select top 20 thread from
                  ( select top 1020 thread from board
                    order by thread desc ) as a 
         order by thread asc )
     order by thread desc

--> 1000번째 부터 20개 불러오기


     내 게시판에서 현재 돌려 쓰는 방법이다.

 

MS-SQL 은 MySQL 처럼 limit 가 없기 때문에 Top 을 이용해서 그 갯수만큼 불러와야 한다.

아놔; limit 만들어 주면 안되나 ㅋㅋ
 

(*) 쿼리 수행처리 수행능력은  3번 > 2번 > 1번이다.


가급적이면 3번을 쓰자 아자 !!!  즐코딩요 ~~~


Comments