| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > скюл запрос |
| Автор: Step 13.5.2003, 08:41 |
| у меня есть запрос, который по определенным параметрам выбирает все записи которые удовлетворяют условиям, но мне необходимо всего десять записей удовлетворяющих условиям, как это можно сделать |
| Автор: Vyacheslav 13.5.2003, 10:17 |
| Если это поддерживает диалект SQL, который ты используешь, то SELECT TOP 10 * FROM emp |
| Автор: Step 13.5.2003, 10:26 |
| спасибо |
| Автор: Master 13.5.2003, 14:23 |
| Можно ещё SELECT * FROM emp WHERE условие LIMIT 10 |
| Автор: Step 13.5.2003, 15:37 |
| этот вариант более приемлем |
| Автор: Medved 27.5.2003, 11:48 | ||
ИМХО этот вариант более предпочтительней! |
| Автор: Vit 23.6.2003, 16:04 | ||
А какие диалекты SQL поддерживают такое? |
| Автор: Vaulter 27.6.2003, 05:05 |
| Vit LIMIT 1,10 знаю точно mySQL держит |
| Автор: vickr 27.6.2003, 13:39 | ||
Раз уж речь зашла о всех возможных вариантах для разных СУБД, то добавлю еще один для SQL Server:
То же самое применимо и к INSERT, UPDATE и DELETE. Преимущество такого подхода относительно TOP n - можно указывать не само значение, а переменную, его содержащую. Мне буквально на днях понадобилась процедура для обновления только @n записей в таблице, где @n - значение, задаваемое пользователем и я не нашел никакого другого способа реализации, кроме описанного выше. |
| Автор: Step 27.6.2003, 13:42 |
| всем спасибо |
| Автор: Vit 1.7.2003, 04:16 |
| А есть ли способ, например, ограничить выведение например с 20й по 40ю записи? Я знаю что могу это сделать 2мя вложенными селектами с сортировкой, но может есть какой-нибудь более нормальный вариант? - интересует MS SQL Server и MS Access. 2 Vaulter к сожалению в MS SQL Server и MS Access такое не работает, а точнее - мне не удалось заставитиь такое сделать |