Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выбрать 10 записей начиная с напр.200  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1690
Сорри если вопрос глупый в MySQL использовал Select .... Limit 200,10 просто и ясно
Как подобное реализовать иак же красиво в MSSQL 2008?

п.с. Смотрел в сторону
SELECT 
rank() OVER (ORDER BY....) as Nr, id
  FROM table ORDER BY ....


Спасибо.
7 мар 13, 16:02    [14025164]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
Jovanny
Member

Откуда:
Сообщений: 1195
Возвращение порядковых номеров строк в результирующем наборе
7 мар 13, 16:06    [14025178]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2994
Mikhail Tchervonenko,
FAQ
7 мар 13, 16:06    [14025182]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
iap
Member

Откуда: Москва
Сообщений: 46999
FAQ
7 мар 13, 16:08    [14025195]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2994
и, кстати да, в версии 2012 появился ORDER BY .. OFFSET
7 мар 13, 16:20    [14025245]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
iap
Member

Откуда: Москва
Сообщений: 46999
HandKot
и, кстати да, в версии 2012 появился ORDER BY .. OFFSET
Тут же сказано "MSSQL 2008"!
В комментариях в FAQ про 2012-й тоже говорят
7 мар 13, 16:24    [14025263]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
aleks2
Guest
Проще надо
select top(10) *
 from (select top(209) * from aTable order by aField ASC) x
 order by aField DESC
7 мар 13, 16:32    [14025294]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1690
спасибо за многочисленные ответы, FAQ я уже читал многократно.
Я ведь уточнил, хотелось красивого решения, одним быстрым запросом.
OFFSET безусловно в этм смысле хорош но пока клиенты не перейдут на 2012й пользоваться им не могу.
7 мар 13, 16:40    [14025355]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Mikhail Tchervonenko
спасибо за многочисленные ответы, FAQ я уже читал многократно.
Я ведь уточнил, хотелось красивого решения, одним быстрым запросом.
А вы думаете, в FAQ выносят самые уродливые решения, с множеством тупых и медленных запросов?
7 мар 13, 16:54    [14025406]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1690
Не хочу никого обидеть но ничего красивее MySQL LIMIT в смысле моего вопроса в FAQ я не увидел. Offset только, но использовать его, как писал уже выше, не могу. Если вопрос и решается одним запросом то с тормозами. В противном случае надо писать писать процедуру что тоже красотой не блещет в сравнении с одним запросом. Не пойму, почему Microsoft тянула аж до 2012й версии с Offset.
7 мар 13, 17:15    [14025466]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8724
Красивого решения в плане "вернуть вторые двести записей" нет... Удобоваримый вариант Вам уже предложили.

PS Холивар на эту тему тут уже даже не поднимается,- для данного форума это "Изабелла"...
7 мар 13, 17:29    [14025496]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Mikhail Tchervonenko
Не хочу никого обидеть но ничего красивее MySQL LIMIT в смысле моего вопроса в FAQ я не увидел. Offset только, но использовать его, как писал уже выше, не могу. Если вопрос и решается одним запросом то с тормозами. В противном случае надо писать писать процедуру что тоже красотой не блещет в сравнении с одним запросом. Не пойму, почему Microsoft тянула аж до 2012й версии с Offset.
Потому что Microsoft так захотелось. Вам никто не запрещает пользоваться MySQL.
7 мар 13, 17:39    [14025514]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать 10 записей начиная с напр.200  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31429
Mikhail Tchervonenko
Не хочу никого обидеть но ничего красивее MySQL LIMIT в смысле моего вопроса в FAQ я не увидел. Offset только, но использовать его, как писал уже выше, не могу. Если вопрос и решается одним запросом то с тормозами
Вроде вариант с row_number ровно настолько же эффективен, как LIMIT в MySQL.

А по красоте - неохотно разработчики внедряют красоту, если она функционально не нужна и не даст преимуществ бизнесу. Offset сделали скрепя сердце, достало уже сравнение с MySQL :-)
7 мар 13, 19:20    [14025764]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить