Re: Finding missing values in sequence column

Поиск
Список
Период
Сортировка
От Szymon Guz
Тема Re: Finding missing values in sequence column
Дата
Msg-id AANLkTi=m4zNuzpzrTa6JdY3OaOA2gnkYzi8dzw8+HLzi@mail.gmail.com
обсуждение исходный текст
Ответ на Finding missing values in sequence column  (Lukasz Brodziak <lukasz.brodziak@gmail.com>)
Список pgsql-admin
On 30 December 2010 12:19, Lukasz Brodziak <lukasz.brodziak@gmail.com> wrote:
Hello,

I have a problem with writing a select statement that would return
records for which difference in values of this and following ID is
bigger than 1. Example table
ID      Data
1       Text
2       Text2
5       Text5
23     Text23
24     TXT
25     RRRR

So I need to return rows with IDs 2,5,23.

Hi,
sorry, I don't get it. If difference between current and following id should be bigger than 1, then returned rows should be only 2 and 5. Not 23.

You can do it this way:

select lag 
from 
  (select 
     id, 
     lag(id) over (order by id) 
   from x 
   order by id) a 
where 
  id-lag > 1;

regards
Szymon

В списке pgsql-admin по дате отправления:

Предыдущее
От: Lukasz Brodziak
Дата:
Сообщение: Finding missing values in sequence column
Следующее
От: Achilleas Mantzios
Дата:
Сообщение: SET SESSION AUTHORIZATION and log file entries