2009-12-16 2 views
0

데이터베이스에서 수천 개의 데이터를 가져옵니다. 나는 100 레코드의 한계에 의해 웹 페이지에 게재하고 싶습니다. 나는 다음과 같은 SQL에 먼저 100 레코드를 표시 할 수 있습니다 :SQL Server에서 MySQL의 LIMIT을 만들려면 어떻게해야합니까?

SELECT TOP 100 * FROM TBLStock 

을 그리고 어떻게 등, 다음의 기록 (300)에 200-101, 201을 탐색 할 수 있습니다 ..? 도와주세요. SQL Server 2005를 사용하고 있습니다. HELP! MySQL에서 LIMIT와 같은 SQL Server를 작성하려면 어떻게해야합니까?

답변

3

방법 1 : FROM TOP 100을 선택 (BY TOP 500 ORDER를 선택)

가 AFAIK이 유콘 (MS SQL 서버 2005) 전에 유일한 방법입니다. 중간에 역순으로 두 번 선택하십시오. 놀랍게도, 그것은 또한 효율적이라고 알려져있다.

방법 2 : SQL Server 2005를 시작할 수있는 Row_Number() 함수를 사용하십시오 (다른 게시물에서 알 수 있습니다).

+0

+1 (행 수순 ...) –

2
SELECT t.* 
FROM 
(
    SELECT first_column, second_column, third_column, etc, 
     ROW_NUMBER() OVER (ORDER BY sort_column) AS row_num 
    FROM your_table 
) AS t 
WHERE t.row_num BETWEEN 50 AND 100 
ORDER BY t.row_num 
+0

고마워요! 귀하의 대답은 내 문제에도 적합합니다! 그러나 하나의 정답을 선택할 수 있습니다. :) – RedsDevils