Problém:
Chcete omezit počet řádků vyplývajících z dotazu v T-SQL.
Příklad:
V exam tabulka, jsou tam jména studentů s výsledky zkoušky.
| name | výsledek_zkoušky |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Chcete získat tři řádky s nejlepšími výsledky testu.
Řešení:
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Výsledek dotazu vypadá takto:
| name | výsledek_zkoušky |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Diskuse:
Po SELECT klíčové slovo, použijte TOP klíčové slovo spolu s počtem řádků, které chcete načíst (zde 3 ). Nezapomeňte seřadit řádky podle exam_result sloupec v sestupném pořadí pomocí ORDER BY klauzule a DESC klíčové slovo.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Pokud chcete načíst tři řádky náhodně místo tří nejlepších, přeskočte ORDER BY část.
SELECT TOP 3 * FROM exam;
Samozřejmě můžete načíst libovolný počet řádků. Stačí nahradit 3 s požadovaným číslem.