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.