지금 시각은 입니다.
닷넷 문제없어!
[Log-In]
관리자 로그인
  ID
  PW
Catagory
탐색 건너뛰기 링크입니다.
11월2024년 12월1월
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
Tag Storm
감자탕  기네스  라푼젤  사용자정의 컨트롤  위도 경도 거리  위도경도거리  정규식  파일업로드  페이징  clear  display  float  InvalidOperationException  ip차단  onClientClick  RegisterClientScriptBlock  RegisterStartupScript  urlscan  WebKnight  z-index  
RSS 2.0   
Today : 18
Total  : 558863
게시판 목록 Listing 로직 | ASP.Net Read : 5055
 Name : 이종원 IP : 121.183.15.250 
 Date : 2010-06-21 오후 2:17:29  

게시판 목록을 뿌려줄때 언제나 고민하게 되는 사항이다. (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번을 쓰자 아자 !!! 

 Tag : 페이징
 Trackback : http://wonpaper.net/Trackbackhandler.ashx/board_aspnet/2
이름
비번
글목록
Copyright 2010 ~ 2024, wonpaper.net based on ASP.NET 3.5 using Web-Form.
Wonpaper 웹개발자의 닷넷블로그