Sort one column , based on that sort another column in Oracle
order by to_char(date_column, 'YYYY') desc, counter desc

order by trunc(date_column, 'YYYY') desc, counter desc

drop table t1 purge;
create table t1 (counter varchar2(2), date_column date);
insert into t1 values ('05', date'2019-07-23');
insert into t1 values ('01', date'2017-06-23');
insert into t1 values ('10', date'2019-06-02');
insert into t1 values ('14', date'2016-12-01');
insert into t1 values ('03', date'2018-11-23');
insert into t1 values ('07', date'2015-11-23');
commit;

select * from t1 order by trunc(date_column, 'YYYY') desc, counter desc;

CO DATE_COLUM
-- ----------
10 02-06-2019
05 23-07-2019
03 23-11-2018
01 23-06-2017
14 01-12-2016
07 23-11-2015