Problem:
Chcesz ograniczyć liczbę wierszy wynikających z zapytania w T-SQL.
Przykład:
Na exam
w tabeli znajdują się nazwiska uczniów z wynikami egzaminu.
nazwa | exam_result |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Chcesz uzyskać trzy wiersze z najlepszymi wynikami egzaminu.
Rozwiązanie:
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Wynik zapytania wygląda tak:
nazwa | exam_result |
---|---|
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Dyskusja:
Po SELECT
słowo kluczowe, użyj TOP
słowo kluczowe wraz z liczbą wierszy, które chcesz pobrać (tutaj 3
). Pamiętaj, aby posortować wiersze według exam_result
kolumna w kolejności malejącej przy użyciu ORDER BY
klauzula i DESC
słowo kluczowe.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Jeśli chcesz pobrać losowo trzy wiersze zamiast trzech najlepszych, pomiń ORDER BY
część.
SELECT TOP 3 * FROM exam;
Oczywiście możesz pobrać dowolną liczbę wierszy. Wystarczy zastąpić 3
z wybranym numerem.