Excepted Output:
create table prev_rows(id varchar2(10),dt varchar2(10),val number);
insert into prev_rows values('A','JAN-23',100);
insert into prev_rows values('A','FEB-23',60);
insert into prev_rows values('A','MAR-23',40);
insert into prev_rows values('B','JAN-23',30);
insert into prev_rows values('B','FEB-23',20);
commit;
select ID, to_date(DT,'MON-YY') val_dt,VAL,
row_number() over(partition by id order by DT)
from prev_rows;
select ID,dt,VAL,to_date(DT,'MON-YY') val_dt from prev_rows;
select ID,dt,VAL,to_date(DT,'MON-YY') val_dt,
row_number() over(partition by id order by to_date(DT,'MON-YY')) rn from prev_rows;
select ID,dt,VAL,to_date(DT,'MON-YY') val_dt,
row_number() over(partition by id order by to_date(DT,'MON-YY')) rn from prev_rows;
select ID,dt,VAL,to_date(DT,'MON-YY') val_dt,
row_number() over(partition by id order by to_date(DT,'MON-YY')) rn,
row_number() over(partition by id order by dt) rn from prev_rows;
select ID,dt,VAL,to_date(DT,'MON-YY') val_dt,
row_number() over(partition by id order by to_date(DT,'MON-YY')) rn,
sum(val) over(partition by id order by to_date(DT,'MON-YY')) sum_sal from prev_rows;
select ID, to_date(DT,'MON-YY') val_dt,VAL,
row_number() over(partition by id order by to_date(DT,'MON-YY')) rn,
sum(val) over(partition by id order by to_date(DT,'MON-YY')) sum_sal,
round(sum(val) over(partition by id order by to_date(DT,'MON-YY'))/row_number() over(partition by id order by to_date(DT,'MON-YY'))) res
from prev_rows;
select ID, dt,
round(sum(val) over(partition by id order by to_date(DT,'MON-YY'))/row_number() over(partition by id order by to_date(DT,'MON-YY'))) res
from prev_rows;
No comments:
Post a Comment