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