게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
mysql 서브 쿼리문 도움 부탁드립니다!
게시물ID : programmer_16050짧은주소 복사하기
작성자 : 물어라이코스
추천 : 0
조회수 : 795회
댓글수 : 9개
등록시간 : 2016/03/04 12:32:45
옵션
  • 본인삭제금지
안녕하세요!
쿼리문을 만들고 있는데..
공부가 미흡하여 완성이 안되고 있습니다. ㅜㅜ

힌트라도 부탁드립니다...


테이블(출입 데이터 테이블)
컬럼 : 회원번호, 확인날자
데이터 : 
1, 2016-02-04 00:00:01
2, 2016-02-05 00:00:01
2, 2016-02-06 00:00:01
1, 2016-02-07 00:00:01
3, 2016-02-08 00:00:01
3, 2016-03-09 00:00:01
1, 2016-03-10 00:00:01
....


조건,
특정기간(2016-03-08 00:00:00 ~ 2016-03-10 23:59:59)에 2회 이상 출입한 사람 중,
특정기간 이전(2016-03-08 00:00:00 이전)에 2회 이상 출입한 기록이 없는 사람의 목록을 구해야함.

결과,
즉 위 데이터 중 특정 기간에 2회이상 출입한 사람은 회원번호 (3)인 사람뿐임.
이 사람은 특정기간을 제외한 기간 중 출입 데이터가 2회 미만이므로
최종적으로 출력되는 결과값은 (3)와 (3)의 출입횟수(count)임.


삽질 기록기...
서브 쿼리가 필요함.
조인이 필요......할려나!?
NOT IN 이라는걸 써보려고 함..


실패한 쿼리문....
1.
SELECT count(`회원번호`) AS 회원번호_count FROM `테이블` WHERE `date` >= '2016-2-26 00:00:00' AND `date` < '2016-03-04 00:00:00'
AND `회원번호` NOT IN
(
SELECT phone FROM `테이블` WHERE `date` < '2016-2-26 00:00:00' AND count(`회원번호`) >= 2
)
GROUP BY `회원번호` ORDER BY `회원번호_count` DESC


일주일에 10회 미만으로 발생하는 쿼리문이고 타 작업과 겹치지 않으니 쿼리문 자체 부하는 많아도 상관은 없습니다.
쿼리가 너무 어렵네요 ㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호