powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / есть возможность в select оперировать значениями предыдущей строки при выводе текущей?
3 сообщений из 3, страница 1 из 1
есть возможность в select оперировать значениями предыдущей строки при выводе текущей?
    #39083035
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть выборка и условие в выборке:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with tabl as (select 1 as a_id,  0 as a
union select  2, 0 
union select  3, 1 
union select  4, 0 
union select  5, 0 
union select  6, 1 
union select  7, 0 
union select  8, 1 
union select  9, 1 
union select  10, 0 
)
select case a when 1 then 1 else 0 end as PPP, * from tabl order by a_id


но, надо дополнить условие в case так что бы смотреть, если в предыдущем случае это поле равно 1 то в текущем должно быть 0
т.е. в 9й строке должен бытб 0 в поле PPP
...
Рейтинг: 0 / 0
есть возможность в select оперировать значениями предыдущей строки при выводе текущей?
    #39083042
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Legushka,

Вам нужны оконные функции . Посмотрите lag и lead
...
Рейтинг: 0 / 0
есть возможность в select оперировать значениями предыдущей строки при выводе текущей?
    #39083065
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ursido, спасибо большое
результат:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with tabl as (select 1 as a_id,  0 as a
union select  2, 0 
union select  3, 1 
union select  4, 0 
union select  5, 0 
union select  6, 1 
union select  7, 0 
union select  8, 1 
union select  9, 1 
union select  10, 0 
)
select case when a=1 and lag(a,1,0) over(order by a_id)=0 then 1 else 0 end as PPP, * from tabl order by a_id
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / есть возможность в select оперировать значениями предыдущей строки при выводе текущей?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]