Udostępnij za pośrednictwem


Ograniczanie wyników ustawia się za pomocą GÓRNEGO i procent

Można użyć góry klauzula, aby ograniczyć liczbę wierszy zwracanych zestaw wyników.

TOP ( expression ) [ PERCENT ] [ WITH TIES ]

expressionto wyrażenie liczbowe, które określa liczbę wierszy zwracanych; Jeśli procent jest określony lub procent (określony przez expression) z zestaw wyników zwracanych wierszy.Na przykład:

TOP (120) /*Return the top 120 rows of the result set. */
TOP (15) PERCENT /* Return the top 15 percent of the result set. */.
TOP(@n) /* Return the top @n rows of the result set, with the variable declaration: DECLARE @n AS BIGINT; SET @n = 2 */.

Jeśli instrukcja SELECT zawierająca góry ma również ORDER BY klauzula, wierszy, które mają być zwracane są wybierane z zestaw wyników zamówione.Zestaw wyników całego jest wbudowana w określonej kolejności i góry n zwracanych wierszy w zestawie wyników zamówione.Jeżeli określony jest również WITH TIES, zwracane są wszystkie wiersze zawierające ostatnią wartość zwracana przez klauzula ORDER BY, nawet jeśli w ten sposób przekracza wartość określoną przez expression.

GÓRNY vs.ZESTAW ROWCOUNT.

Inne metoda ograniczanie rozmiaru zestaw wyników jest wykonać ROWCOUNT USTAWIĆ n instrukcja przed wykonaniem instrukcja.Ustaw ROWCOUNT różni się od góry w następujący sposób:

  • Zastosowanie klauzula TOP, aby ZAZNACZYĆ pojedynczy instrukcja określonego w.Ustaw ROWCOUNT pozostaje, dopóki wykonywane innej instrukcja USTAWIĆ ROWCOUNT, takich jak USTAWIĆ ROWCOUNT 0, aby wyłączyć opcję.

    Ważna informacjaWażne:

    Za pomocą zestawu ROWCOUNT nie wpłynie na instrukcji DELETE, INSERT i UPDATE w następnym wydaniu SQL Server.Należy unikać ROWCOUNT zestaw instrukcji DELETE, INSERT i UPDATE w nowych prac rozwojowych i plan aplikacji korzystających aktualnie go zmodyfikować.Zaleca się, że instrukcji DELETE, INSERT i UPDATE, korzystających aktualnie USTAWIONA ROWCOUNT ponownie zapisać do korzystania z góry.

    Mimo że skuteczna ROWCOUNT zestaw instrukcji SELECT pozostaje bez zmian, wybierz przy użyciu góry jest preferowane przy użyciu zestawu ROWCOUNT z następujących powodów:

    • Ustaw ROWCOUNT powoduje, że większość wybierz INSERT, UPDATE i usuwanie instrukcji, aby zatrzymać przetwarzanie, gdy mają one wpływ na określoną liczbę wierszy.To zachowanie dotyczy także wewnątrz wypalania wyzwalaczy.

    • Jako część instrukcja SELECT optymalizator kwerendy można użyć wartości expression w klauzula TOP jako część generowanie planu wykonania kwerendy.Ponieważ ROWCOUNT zestaw jest używany poza instrukcja, która wykonuje kwerendę, jej wartość nie można użyć do wygenerowania planu kwerend dla kwerendy.