The most difficult part is obtaining week number from SALE_DATE. Then, it is easy to aggregate by it, as Bill demonstrated.
It may be achieved by using simple date arithmetics. Note, that you have to know the starting date of the DATE_RANGE; here, I chose TRUNC(SYSDATE). And, as you did not provide scripts for create your table including INSERT statements for sample data, I generated some of them in the WITH clause - you do not have to use it.
with your_secret_table_name as ( select trunc(sysdate)+level-1 sale_date from dual connect by level <=8 )
select sale_date, trunc( (sale_date-trunc(sysdate) )/ 7 )+1 week_no