Запрос ROW_NUMBER в PostgreSQL? - PullRequest
0 голосов
/ 06 июня 2018
--1
(select * , row_number() over (order by columnname) as tempcolumn 
 from tablename )

--2
select * , row_number() over (order by defid) as tempcolumn 
from fields 
where tempcolumn between 1 and 2 

Первый запрос даст всю таблицу с добавленным новым столбцом.

Мне нужно отобразить результат после проверки диапазона временного столбца.Второй запрос, который я пробовал, выдает ошибку, как tempcolumn не существует

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете использовать подзапрос:

SELECT * FROM (
  select *,ROW_NUMBER() OVER(ORDER BY columnname) as tempcolumn 
  from  tablename) sub
WHERE tempcolumn <= 2;

Вы не можете использовать псевдоним из условия SELECT в WHERE на том же уровне, и вы не можете использовать ROW_NUMBER() как часть WHERE.

Дополнительная информация:

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