Проблем:
Искате да ограничите броя на редовете в резултат на заявка в T-SQL.
Пример:
В exam таблица, има имена на студентите с резултатите от изпита.
| name | резултат_изпит |
|---|---|
| Джанет Морген | 9 |
| Тая Бейн | 11 |
| Ан Джонсън | 11 |
| Джош Каур | 10 |
| Елън Торнтън | 8 |
Искате да получите трите реда с най-добри резултати от изпита.
Решение:
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Резултатът от заявката изглежда така:
| name | резултат_изпит |
|---|---|
| Тая Бейн | 11 |
| Ан Джонсън | 11 |
| Джош Каур | 10 |
Дискусия:
След SELECT ключова дума, използвайте TOP ключова дума заедно с броя на редовете, които искате да извлечете (тук, 3 ). Не забравяйте да сортирате редовете по exam_result колона в низходящ ред с помощта на ORDER BY клауза и DESC ключова дума.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Ако искате да извлечете три реда на случаен принцип вместо най-добрите три, пропуснете ORDER BY част.
SELECT TOP 3 * FROM exam;
Разбира се, можете да извлечете произволен брой редове. Просто заменете 3 с желания от вас номер.