답변 3개 / 댓글 1개
채택된 답변
+20 포인트
베르만님께서 주신 답변을 조금만 응용하시면 될텐데요
현재의 쿼리는 데이터량이 많아지면 속도 이슈가 발생할 겁니다.
해서 개선하셨으면 하는 부분이 해당 분기에 값이 없으면
년도, 분기값은 해당 년도 + 분기값, 그외는 빈값으로 INSERT 해 놓으면
지금처럼 골머리 썩지 않아도 되고
속도도 고민도 덜 하셔도 될것 같습니다만...
Copy
SELECT t.id, t.year, t.quarterFROM ( SELECT id, year, 1 quarter FROM 테이블 UNION ALL SELECT id, year, 2 quarter FROM 테이블 UNION ALL SELECT id, year, 3 quarter FROM 테이블 UNION ALL SELECT id, year, 4 quarter FROM 테이블 ) AS tWHERE t.id = '아이디'GROUP BY t.year, t.quarter ORDER BY t.year DESC;
Copy
SELECT a.year, b.quarter FROM (SELECT DISTINCT year FROM 테이블 WHERE id = '아이디') a JOIN ( SELECT 1 quarter FROM DUAL UNION ALL SELECT 2 quarter FROM DUAL UNION ALL SELECT 3 quarter FROM DUAL UNION ALL SELECT 4 quarter FROM DUAL ) b ORDER BY a.year DESC, b.quarter ASC ;
단순하게 아래처럼 가능합니다.
Copy
SELECT 2017 year, 1 quarter FROM DUAL UNION ALL SELECT 2017 year, 2 quarter FROM DUAL UNION ALL SELECT 2017 year, 3 quarter FROM DUAL UNION ALL SELECT 2017 year, 4 quarter FROM DUAL;
답변을 작성하려면 로그인이 필요합니다.
select year, quarter from 테이블 where id='아이디' group by year, quarter order by year desc
입니다
저 쿼리를 어떻게 조합하여 수정하면 될까요?