mysql timestamp 만으로 포함되지않는 날짜 검색 질문 1 3 1,918

by erea [MySQL] mysql date date_diff [2017.06.26 13:46:05]


쿼리한방에 가능한 요구사항인지 질문 드립니다

쿼리 셀렉트시

id ,start_date,   end_date

1  2017-05-27 2017-05-29

2  2017-06-01 2017-06-03

3  2017-06-02 2017-06-07

4  2017-06-08 2017-06-09

5  2017-06-01 2017-06-13

6  2017-06-17 2017-06-18

이렇게 테이블에 날짜가 뒤섞여있을시

2017-06-30 이전 데이터에서 위 테이블에 없는 날짜를 구하는 쿼리가 한번에 가능할까요?

포함이 안된날짜 = 2017-06-14~2017-06-16 , 2017-06-19~2017-06-30

이므로 2017-06-30 날 기준으로 포함이 안된 순수한날에 30일전 날짜((datediff로 30일이 나오는날짜 ) 구하는게 가능할까요

 

 

 

 

 

 

by 마농 [2017.06.27 16:26:04]

질문이 모호한데요?
1. 포함이 안된 날짜들을 출력하는게 목적인가요?
  - 그렇다면 종료일 기준 6/30 과 함께 시작일 기준도 필요합니다.
2. 30일 이전 날짜를 뽑는게 목적인가요?
  - 그렇다면? 위 원본자료로 부터 나오는 결과 일자는 뭔가요?


by erea [2017.06.28 14:03:46]

포함이 안된날짜를 출력하는게 목적입니다

출력예) (포함안된날짜)

1. 2017-06-14

2. 2017-06-15

3. 2017-06-16

3. 2017-06-19

~~

15 . 2017-06-30

조건은 지정된날짜 2017-07-01 보다 낮은 날짜에서 고

시작일은

포함이 안된날짜 레코드 수가 즉 30개

출력이 30개만 뽑아오는것입니다

도와주시면 감사하겠습니다

 

 


by 마농 [2017.06.28 14:57:07]
SELECT a.dt
  FROM 달력테이블 a
  LEFT OUTER JOIN 데이터테이블 b
    ON a.dt BETWEEN b.start_date AND b.end_date
 WHERE a.dt <= '2017-07-01'
   AND b.id IS NULL
 ORDER BY a.dt DESC
 LIMIT 30
;

 

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