mysql 쿼리문 질문드려요..

mysql 쿼리문 질문드려요..

QA

mysql 쿼리문 질문드려요..

본문

--------------------------------------

이  름  |   예약일자  

--------------------------------------

홍길동   2018-11-01

김길동   2018-11-01

김길동   2018-11-02

홍길동   2018-11-03

김길동   2018-11-04

홍길동   2018-11-04

김길동   2018-11-06

홍길동   2018-11-07

홍길동   2018-11-08

 

위와 같은 데이터가 있을때요...

(이름 name ,  예약일자는 date 라고 필드정의)

 

$res = sql_query ("select MAX(date) as maxday, MIN(date) as minday from member group by name ORDER BY name asc ");

 

이렇게 그룹바이를 써서 리스트로 뽑을려고 해요..

딱 이렇게 뽑으면 좋을려만.. 여기서 조건이 들어갑니다..

 

홍길동의 경우 예약일자가 2018-11-01 ~ 2018-11-08

김길동의 경우 예약일자가 2018-11-01 ~ 2018-11-06

 

조건절은요..

1. 시작일자가 12개월 전부터만 조회

2. 종료일자가 종료일이 지난뒤 10일까지만 리스트에 나오게 하려 해요.. 종료하면 딱 없어지는 것이 아니라 언제 종료했다는 걸 보여줄려구요.

 

1번 조건을 아래와 같이 하려다가요....

$expire = date("y-m-d", strtotime(' -12 month'));

$res = sql_query ("select MAX(date) as maxday, MIN(date) as minday where date > $expire  from member group by name ORDER BY name asc ");

 

이렇게 where 절은 안될것 같아서요..

어케 12개월 전부터와 어케 마지막날 + 10일을 조건 줘서 조회해야 하는게 가능한지요?

 

가능하다면 고수님들 좀 알려주세요.

이 질문에 댓글 쓰기 :

답변 2

$res = sql_query ("select MAX(date) as maxday, MIN(date) as minday where date >  DATE_ADD(now() , INTERVAL -1 YEAR)  from member group by name ORDER BY name asc ");

 

이렇게 하면 1년 전 부터 쿼리 하라는 겁니다만, 종료일이 지난 10일까지만? 이게 좀 이해가 가질 않는군요

$res = sql_query ("select MAX(date) as maxday, MIN(date) as minday from member where date >  DATE_ADD(now() , INTERVAL -1 YEAR) and now() >=  DATE_ADD(maxday , INTERVAL +10 DAY)  group by name ORDER BY name asc "); 

 

이정도면 될까요? 쿼리 실행은 해보지 않았습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 234
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT