MySql Limit -> MSSQL

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

MySql Limit -> MSSQL

Сообщение Dmitriy Solomnikov » 21.07.2006 (Пт) 14:12

В MySQL испольуется такая штука как лимит, позволяющая выбирать данные порциями с n1 по n2, довольно удобная штука.

Есть ли что-то подобное в MSSQL 2000 или 2005?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 21.07.2006 (Пт) 14:54

вроде нет, но есть
Код: Выделить всё
TOP n PROCENT

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.07.2006 (Пт) 16:06

ага, только без PROCENT.
Такого слова-то даже нет ;-)
Изображение

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 21.07.2006 (Пт) 16:08

TOP n [PERCENT]

n specifies how many rows are returned. If PERCENT is not specified, n is the number of rows to return. If PERCENT is specified, n is the percentage of the result set rows to return:

TOP 120 /*Return the top 120 rows of the result set. */
TOP 15 PERCENT /* Return the top 15% of the result set. */.

Да ладно вам, описаться уж разок нельзя :D

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Re: MySql Limit -> MSSQL

Сообщение Ennor » 21.07.2006 (Пт) 16:18

Dmitriy Solomnikov писал(а):порциями с n1 по n2

Появилось в MSSQL 2005. В предыдущей версии нужно было идти на ухищрения (пункт 5).

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Re: MySql Limit -> MSSQL

Сообщение Dmitriy Solomnikov » 21.07.2006 (Пт) 17:11

В 2005 имеется ввиду ROW_NUMBER()?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 23.07.2006 (Вс) 17:16

Да, видимо - я сам его изучать еще не брался, знаю что что-то сделали, а что именно пока не смотрел.

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 24.07.2006 (Пн) 8:59

можно так

Код: Выделить всё
SELECT TOP Finish - Start + 1 * FROM
(SELECT TOP Finish * FROM Table ORDER BY Field1) A ORDER BY Filed1 DESC

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.07.2006 (Пн) 23:21

Можно и так, конечно.
Но уж лучше фетчить порциями нужного размера.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList