У меня есть данные истории с данными учетной записи, где статус активности учетной записи «Активен» или «Отменен». При повторном открытии учетной записи статус учетной записи становится «Активным», а позже может стать «Отмененным», как показано ниже.данные.Теперь я хотел бы различать данные каждый раз, когда учетная запись повторно открывается (с account_sub_number).
Я использовал следующий запрос:
select status,status_code,account_number,date,
row_number() over (partition by account_number,status_code order by
date ) as Account_Sub_Number
from schema.account where account_number= 1234
order by date
Source_data:
Account Number Status Status Code Date
1234 Active A 2017-12-04
1234 Active A 2017-12-05
1234 Active A 2017-12-06
1235 Active A 2017-12-07
1234 Active A 2018-03-02
1234 Cancelled C 2018-03-03
1234 Cancelled C 2018-03-04
1234 Cancelled C 2018-05-10
1234 Cancelled C 2018-05-11
1234 Active A 2018-05-24
1234 Active A 2018-05-25
1234 Active A 2018-05-26
1234 Active A 2018-05-27
1234 Cancelled C 2018-05-28
1234 Cancelled C 2018-06-15
1234 Cancelled C 2018-06-16
1234 Cancelled C 2018-06-17
Требуемый вывод:
Account Number Status Status Code Date Account Sub Number
1234 Active A 2017-12-04 1
1234 Active A 2017-12-05 1
1234 Active A 2017-12-06 1
1235 Active A 2017-12-07 1
1234 Active A 2018-03-02 1
1234 Cancelled C 2018-03-03 1
1234 Cancelled C 2018-03-04 1
1234 Cancelled C 2018-05-10 1
1234 Cancelled C 2018-05-11 1
1234 Active A 2018-05-24 2
1234 Active A 2018-05-25 2
1234 Active A 2018-05-26 2
1234 Active A 2018-05-27 2
1234 Cancelled C 2018-05-28 2
1234 Cancelled C 2018-06-15 2
1234 Cancelled C 2018-06-16 2
1234 Cancelled C 2018-06-17 2
результат с моим запросом:
Account Number Status Status Code Date Account_sub_number
1234 Active A 2017-12-04 1
1234 Active A 2017-12-05 2
1234 Active A 2017-12-06 3
1235 Active A 2017-12-07 4
1234 Active A 2018-03-02 5
1234 Active A 2018-05-24 6
1234 Active A 2018-05-25 7
1234 Active A 2018-05-26 8
1234 Active A 2018-05-27 9
1234 Cancelled C 2018-03-03 1
1234 Cancelled C 2018-03-04 2
1234 Cancelled C 2018-05-10 3
1234 Cancelled C 2018-05-11 4
1234 Cancelled C 2018-05-28 5
1234 Cancelled C 2018-06-15 6
1234 Cancelled C 2018-06-16 7
1234 Cancelled C 2018-06-17 8