В psql 9.5.6 я хотел бы напечатать все имена, в которых идентификатор отличается только на единицу.
Таким образом, при вводе
name | id Harry | 12 Harry | 13 Steven | 14 Steven | 16 Goldberg | 21
вывод должен быть
harry
Select name from table group by name having max(id)- min(id)=1;
Я думаю, что вы спросили разницу идентификаторов для каждого имени в группе, увидев вывод.Можете попробовать выше.
Вы можете использовать lead() или lag():
lead()
lag()
select t.name from (select t.*, lag(id) over (partition by name order by id) as prev_id from t ) t where prev_id = id - 1;