원하는 쿼리
WITH board AS
(
SELECT '2020-12-01' createdate, 'StarCraft' type, '스타는 재미있다' content FROM dual
UNION ALL SELECT '2020-12-01', 'StarCraft', '스타2도 재미있다' FROM dual
UNION ALL SELECT '2020-12-03', 'LOL' , '롤은 재미있다' FROM dual
UNION ALL SELECT '2020-12-05', 'StarCraft', '스타는 재미없다' FROM dual
UNION ALL SELECT '2020-12-07', 'LOL' , '롤은 재미없다' FROM dual
)
SELECT *
FROM (SELECT createdate, type, content
, ROW_NUMBER() OVER(PARTITION BY type, createdate ORDER BY 1) rn
FROM board
WHERE createdate BETWEEN '2020-12-01' AND '2020-12-07'
)
PIVOT (MIN(content) FOR createdate IN ( '2020-12-01' "2020-12-01"
, '2020-12-02' "2020-12-02"
, '2020-12-03' "2020-12-03"
, '2020-12-04' "2020-12-04"
, '2020-12-05' "2020-12-05"
, '2020-12-06' "2020-12-06"
, '2020-12-07' "2020-12-07"
) )
ORDER BY type, rn
;
'dev > 데이터베이스' 카테고리의 다른 글
FlashBack Example Query (0) | 2024.01.30 |
---|---|
redis (0) | 2022.01.16 |
행과 열 변환하는 쿼리 (0) | 2021.07.15 |
오라클 - 계정 생성 (0) | 2020.11.07 |
오라클 - 테이블 완전 삭제 (0) | 2020.11.07 |