1~30일 중 랭킹20등 안에 3번이 되는 아이디는 다음일자부터 랭킹에 안올라가게 쿼리를 짜려고 합니다.
그래서 1~30일 전체날짜 데이터를 일단 불러온후 랭킹20위까지의 쿼리는 만들었지만, 마지막3번 중복으로 들어가는 아이디 처리를 못하겠습니다.
1일 id: yub
5일 id: yub
7일 id : yub
15일 id:yub
예를들어서 yub이라는 id가 랭킹에 4일동안 20등안에 들어서 4개가 출력이 되는데 처음 7일까지 3번이 랭킹에 등록이 되어있고 15일부터는 출력이 안되게
하려고합니다. 도와주시면 감사하겠습니다.
select test_id from (select row_number() over (order by crt_dt desc) as rn,test_id,crt_dt from test_table
where test_date between '20180501' and '20180530'
group by crt_dt,test_id
) aa
where aa.rn <=20
|