Problem:
Du vill begränsa antalet rader som kommer från en fråga i T-SQL.
Exempel:
I exam tabell, det finns namn på eleverna med resultaten av tentamen.
| namn | exam_result |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Du vill få de tre raderna med de bästa provresultaten.
Lösning:
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Resultatet av frågan ser ut så här:
| namn | exam_result |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Diskussion:
Efter SELECT nyckelord, använd TOP nyckelord tillsammans med antalet rader du vill hämta (här, 3 ). Kom ihåg att sortera raderna efter exam_result kolumnen i fallande ordning med ORDER BY satsen och DESC nyckelord.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Om du vill hämta tre rader slumpmässigt istället för de tre bästa, hoppa över ORDER BY del.
SELECT TOP 3 * FROM exam;
Naturligtvis kan du hämta hur många rader du vill. Byt bara ut 3 med önskat nummer.