안녕하세요~
지금 데이터가 이런식으로 나오는데요.
A B
-----------------------
20170326 2017.03
20170325 2017.03
20170324 2017.03
20170223 2017.02
20170201 2017.02
20170122 2017.01
20170103 2017.01
제가 원하는거는
A B
-----------------------
20170326 2017.03
20170325
20170324
20170223 2017.02
20170201
20170122 2017.01
20170103
이런식으로 중복되지 않게 나오게 하고싶습니다.
어떤 함수를 써야하는지 알려주시면 감사하게습니다~(_ _ ) 꾸벅
with t as ( select '20170326' dt,'2017.03' mon from dual union all select '20170325','2017.03' from dual union all select '20170324','2017.03' from dual union all select '20170223','2017.02' from dual union all select '20170201','2017.02' from dual union all select '20170122','2017.01' from dual union all select '20170103','2017.01' from dual ) select dt, decode(rn,1,mon) mon from ( select dt, mon, row_number() over(partition by substr(dt,1,6) order by dt desc) rn from t) order by dt desc
with t as ( select '20170326' dt,'2017.03' mon from dual union all select '20170325','2017.03' from dual union all select '20170324','2017.03' from dual union all select '20170223','2017.02' from dual union all select '20170201','2017.02' from dual union all select '20170122','2017.01' from dual union all select '20170103','2017.01' from dual ) SELECT DT, MON , DECODE(MON, LAG(MON) OVER(ORDER BY DT DESC), '', MON) FROM T ORDER BY DT DESC