SQL - оконная функция для увеличения номера группы

Подобно @Zsolt, вы можете mock log4j Appender и установить его на Logger, а затем проверить вызовы на Appender.doAppend(). Это позволяет вам протестировать без изменения реального кода.

0
задан Mark 28 February 2019 в 23:25
поделиться

1 ответ

Это вариант проблемы групп и островов. Вы можете использовать разность номеров строк для описания группы:

select t.*,
       dense_rank() over (partition by patient_id order by first_contact) as location_name
from (select t.*,
             min(contact_date) over (partition by patient_id, location_name, seqnum - seqnum_2) as desired_result
      from (select t.*,
                   row_number() over (partition by patient_id order by contact_date) as seqnum,
                   row_number() over (partition by patient_id, location_name order by contact_date) as seqnum_2
            from t
           ) t
      ) t;
0
ответ дан Gordon Linoff 28 February 2019 в 23:25
поделиться