| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Выбор определенного диапозона значений |
| Автор: LOBsTerr 18.11.2006, 11:15 | ||
Я недавно работаю с MS SQL server и тут же наткнулся на одну проблемку, например я делаю выборку:
она мне возращает 100 значений, но мне надо выбрать только значения с 20 по 70. Каким образом это можно сделать? Аналоги таких функций в mysql - limit (нач. знач., кол-во). Или в oracle - rowcount. В MS SQL пока ничего такого не нашел, спросил у всех людей работавших с MS SQL, никто не смог мне помочь, пытался написать свою процедурку, но тоже наталкнудся на всякого рода ограничения. Если такой функции нет, я приведу свои решения, может кто поможет куда двигаться дальше. Заранее всем спасибо |
| Автор: Rodman 18.11.2006, 12:47 | ||||
We have specified here to return 10 records starting from 0 or from the first record. Same way we can ask for 10 records starting from 20th record like this
This will return 10 records from 21st record. That is from 21st record to 30th record. Here is the output |
| Автор: Golden Hands 18.11.2006, 13:59 | ||
Выбирает n записей, начиная с первой. Указать, с какой записи начинать выборку (а-ля LIMIT) нельзя. Как варианты, можно сортировать датасет нужным образом или использовать BETWEEN в запросе. P.S. Никакого SELECT...LIMIT в MS SQL Server нет. |
| Автор: boevik 18.11.2006, 21:47 | ||
Если требуется выбрать с n по m запись, то
|
| Автор: LOBsTerr 19.11.2006, 16:33 |
| 2 boevik - Большое спасибо, а то уже всю голову поломал! 2 Rodman - Внимательно читай вопрос! |
| Автор: LOBsTerr 21.5.2008, 09:41 | ||
Вообще есть более стандартное решение, думаю понадобиться тем, кто решает подобные задачи.
Есть вариант без использования With, но я пока не нашел |