Проверка предыдущих строк, чтобы увидеть, существует ли значение

В наборе данных есть несколько строк для каждого идентификатора клиента, а также TS.

Для каждого идентификатора клиента я хочу проверить столбец Status, чтобы проверить, содержит ли он когда-либо значение Cancelled в любой из предыдущих строк этого идентификатора клиента. (по заказу ТС)

Пользовательский ИДСтатусТС
ВаймсОТМЕНЕНО1 января
ВаймсАКТИВНЫЙ2 января
ВаймсОТМЕНЕНО3 января
СивиллаАКТИВНЫЙ2 января
СивиллаАКТИВНЫЙ5 января
СивиллаАКТИВНЫЙ6 января

Набор результатов должен выглядеть следующим образом: добавлен столбец с флагом Rejoiner, который проверяет предыдущие значения столбца Status -

Пользовательский ИДСтатусТСВоссоединение
ВаймсОТМЕНЕНО1 январяНет
ВаймсАКТИВНЫЙ2 январяДа
ВаймсОТМЕНЕНО3 январяДа
СивиллаАКТИВНЫЙ2 январяНет
СивиллаАКТИВНЫЙ5 январяНет
СивиллаОТМЕНЕНО6 январяНет
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте ниже

select *, 
  if (countif (status = 'CANCELLED') over win > 0, 'Yes', 'No') as Rejoiner
from your_table 
window win as (partition by customerid order by unix_date(date(ts)) range between unbounded preceding and 1 preceding)           

если применяется к выборочным данным в вашем вопросе - вывод

Другие вопросы по теме