sql >> Databáze >  >> RDS >> Database

Jak omezit výsledky v T-SQL

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.


  1. Jak získat počet dní v měsíci v MySQL

  2. Datum v adrese URL dd/mm/rrrr

  3. Oracle:Dny mezi dvěma daty a Vyloučit pracovní dny, jak zacházet se zápornými čísly

  4. Jak naprogramovat spouštěč MySQL pro vložení řádku do jiné tabulky?