И так, есть таблица вида :
Table1
| id | column1 | column2 |
| 1 | sss | sss|
| 2 | sss | sss|
| 3 | sss | sss|
| 4 | sss | ses|
| 5 | ses | ses|
| 6 | ses | sew|
| 7 | sew | seq|
Нужно получить:
| id | column1 | column2 | column3 |
| 1 | sss | sss| 1 |
| 2 | sss | sss| 1 |
| 3 | sss | sss| 1 |
| 4 | sss | ses| 2 |
| 5 | ses | ses| 2 |
| 6 | ses | sew| 3 |
| 7 | sew | seq| 4 |
Рассматриваю вариант с увеличением переменной на 1...
select 1::int as I into temp table myvar; # создал переменную; воспользовался temp таблицей
select
"id",
"column1",
"column2",
IF(("column2" <> "column1"), v.I++, v.I) AS "track" #как бы мог выглядеть синтаксис с инкрементацией,
# переменную v.I по условию увеличивать, то есть увеличить на 1, если условие верно.
from table1 , myvar v
В select'e примерный IF ( ...) синтаксис.
Подскажите, как правильно реализовать PostgreSQL конструкцию IF ( condition, var++, var ) ?
Какая есть альтернатива?
Спасибо!