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.