데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

쿼리좀 구합니다

메아리 2016.11.17 09:57 Views : 2366

안녕 하세요

또한번의 쿼리를 구합니다.



WITH TBLX ([timestamp], calc_value)

AS

(

SELECT '2016-10-16 11:51:41', 0.02 UNION ALL 

SELECT '2016-10-17 11:52:42', 0.01 UNION ALL

SELECT '2016-10-18 11:53:43', 0.03 UNION ALL

SELECT '2016-10-19 11:51:44', 0.01 UNION ALL 

SELECT '2016-10-20 11:52:45', 0.02 UNION ALL

SELECT '2016-10-21 11:53:46', 0.03 UNION ALL

SELECT '2016-10-22 11:51:47', 0.00 UNION ALL 

SELECT '2016-10-23 11:52:48', 0.01 UNION ALL

SELECT '2016-10-24 11:53:49', 0.03 UNION ALL

SELECT '2016-10-25 11:51:50', 0.01 UNION ALL 

SELECT '2016-10-26 11:52:51', 0.02 UNION ALL

SELECT '2016-10-27 11:53:52', 0.03

)


위 테이블에서,

1. 첫번째 레코드를 찾는다
 - select top 1 * from TBLX (요기까진 하겠습니다 만, 몇시간 삽질 해봐도 잘 안되네요 ㅋ)

2. 첫번째 레코드 날짜부터 시작해서, 일주일 전까지의 레코드를 찾는다

3. 찾는 조건은 calc_value 가 0 보다 클때 입니다.


그러니까

첫번째 레코드가 2016-10-27 이라면 (날짜순일때)

2016-10-20 부터 2016-10-27 까지 중에 calc_value 가 0 보다 큰값을

모두 select 하는 것입니다.

inner join, right join, 뭐 이것 저것 해봐도 잘 안됩니다.
그니까 어설프게 개념이 잡혀가지고는, 
조회된 값을 테이블로 이용해서, 그 테이블의 날짜를 가져와서, 7을빼서,시작일자에 넣고,
가져온 날짜를 마지막 날짜에 넣고, 조건 넣고 하면 될것도 같은데
구현은 꽝입니다.
날짜를 가져와서, 시작일자에 집어넣는게 도통 안됩니다

죄송하지만 한수만 더 부탁 드립니다.

감사 합니다.







XE Login