Запрос на добавление номера строки для разбивки результатов - PullRequest
2 голосов
/ 15 января 2020

Я пытаюсь выполнить запрос, который берет все данные из таблицы. Я хотел бы использовать нумерацию страниц, так как это является результатом результатов. Поэтому я пытаюсь вставить в запрос нумерацию страниц, например this

Что я пробовал, это

Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
From users
Where reputation > 1000000 AND  row >= ##StartRow:INT?1##
AND         row    <= ##EndRow:INT?50000##
ORDER BY    row

Я получаю следующую ошибку:

Неверное имя столбца 'строка'. Неверное имя столбца 'строка'.

Что я могу сделать?

1 Ответ

2 голосов
/ 15 января 2020

Оберните ваш запрос в производную таблицу (т.е. подзапрос):

select * from
(
  Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
  From users
  Where reputation > 1000000
) dt
where   row >= ##StartRow:INT?1##
  AND   row    <= ##EndRow:INT?50000##
ORDER BY    row

Обратите внимание, что row является зарезервированным словом в соответствии с ANSI / ISO SQL стандартный, поэтому вам может потребоваться разделить имя этого столбца как "row". (Или измените его на что-то другое.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...