сравнить текущее значение строки со следующим значением строки - PullRequest
1 голос
/ 20 ноября 2010
    ID
------
     1
     1
     2
     2
     3
     4
     5
     5
     5
     6
     7
     7
     7
     8
     9
     9
    10
     9

Мне нужно сравнить значение первой строки со значением следующей строки.Если они равны, отобразите y в другом столбце.

    ID               flag
------            -------
     1                 y
     1                 n
     2                 y
     2                 n
     3                 n
     4
     5
     5
     5
     6
     7
     7
     7
     8
     9
     9
    10
     9

Я бы хотел, чтобы этот запрос выполнялся в Oracle.

1 Ответ

2 голосов
/ 20 ноября 2010

Вы можете использовать аналитические функции (оконные функции):

select id, 
   case 
      when lead(id, 1, 0) over (order by id) = id then 'Y'
      else 'N'
   end
  from your_ids_table;

Вы можете заменить предложение order by на все, что вам нужно.

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