시간 순서 끼리 묶는법 0 2 540

by 김동훈 [SQL Query] [2021.12.13 10:09:55]


p1 p2
2021-01-01 1
2021-01-02 1
2021-01-03 2
2021-01-04 2
2021-01-05 3
2021-01-06 3
2021-01-07 4
2021-01-08 4

 

 

p1 같이 데이터가 있을 때 시간 순서대로 2개씩 묶어서 같은 값을 나타내는 오름차순 p2를 구할 수 있는 방법이 뭐가 있을까요?

by 꼬랑지 [2021.12.13 10:16:40]

with t as (

select '2021-01-02' dt from dual union all
select '2021-01-07' dt from dual union all
select '2021-01-03' dt from dual union all
select '2021-01-04' dt from dual union all
select '2021-01-05' dt from dual union all
select '2021-01-06' dt from dual union all
select '2021-01-01' dt from dual union all
select '2021-01-08' dt from dual
)
select
dt ,ceil(rownum/2)
from (
select 
dt
from t
order by dt
)


by 마농 [2021.12.13 13:05:50]
SELECT p1
     , CEIL(ROW_NUMBER() OVER(ORDER BY p1) / 2) p2
  FROM t
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입