Проблем:
Искате да ограничите броя на редовете в резултат на заявка в 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
с желания от вас номер.