Сравнить текущее значение строки со следующим значением строки
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 ответ
Вы можете использовать аналитические функции (оконные функции):
select id,
case
when lead(id, 1, 0) over (order by id) = id then 'Y'
else 'N'
end
from your_ids_table;
Вы можете заменить order by
оговорка с чем угодно.