Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать из таблицы например 5 строк но не с самого начала? / 12 сообщений из 12, страница 1 из 1
18.01.2018, 17:49
    #39586601
festani
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Добрый день.
возникла ситуация что данных в таблице очень много порядка 4 млн
при этом возможность смотреть по полям не подходит т.к. id-шников в таблице нет,
а поля не уникальны.
подскажите как можно взять
например строки с 200 по 400

функция top выбирает первые значения, если ли возможность как то по строкам выбирать не используя данные таблицы
...
Рейтинг: 0 / 0
18.01.2018, 17:51
    #39586602
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
...
Рейтинг: 0 / 0
18.01.2018, 17:52
    #39586603
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
festani, присвоить строкам номера и взять... как-то так...
...
Рейтинг: 0 / 0
18.01.2018, 18:19
    #39586630
Massa52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
buser,

Нужно поле по которому можно выстраивоть записи по порядку.
Если такое поле есть, тогда задача решаема.
Такое решение предложил TaPаK.
А можно вытащить TOP 400 при Order by ASC
И потом 200 при Order By DESC.
...
Рейтинг: 0 / 0
18.01.2018, 18:42
    #39586654
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
festaniесли ли возможность как то по строкам выбирать не используя данные таблицыКак-то так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with t as
(
 select
  *,
  row_number() over (order by (select 1)) as rn
 from
  MyTable
)
select
 *
from
 t
where
 rn between 200 and 400;


Т.к. порядок хранения строк не определен, можете получить отличный от ожидаемого результат.
...
Рейтинг: 0 / 0
18.01.2018, 19:00
    #39586669
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Код: sql
1.
2.
--(order by (select 1))
(order by 1/0)
...
Рейтинг: 0 / 0
18.01.2018, 19:01
    #39586672
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Руслан Дамирович
Код: sql
1.
2.
--(order by (select 1))
(order by 1/0)



да хоть ORDER BY (SELECT NULL) разницы нет, к чему это?
...
Рейтинг: 0 / 0
18.01.2018, 19:13
    #39586679
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
TaPaKда хоть ORDER BY (SELECT NULL) разницы нет, к чему это?
А планы говорят - есть. Кому/чему верить? Не придираюсь, чисто для развития.
...
Рейтинг: 0 / 0
18.01.2018, 19:18
    #39586681
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Руслан Дамирович,

авторА планы говорят - есть. Кому/чему верить? Не придираюсь, чисто для развития.

никакого развития, планы ни о чём
...
Рейтинг: 0 / 0
18.01.2018, 19:55
    #39586700
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Руслан Дамирович,

Разница конечно есть, но настолько несущественная, что можно спокойно не обращать внимания и не смущать неокрепшие умы выражением 1/0.
...
Рейтинг: 0 / 0
18.01.2018, 21:14
    #39586723
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
...
Рейтинг: 0 / 0
19.01.2018, 09:27
    #39586840
Alexander Titkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выбрать из таблицы например 5 строк но не с самого начала?
Или попробовать сортировать по %%physloc%%
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать из таблицы например 5 строк но не с самого начала? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]