fromdate, todate 구하는게 잘 이해가안되네요.
fromdate, todate 구하는게 잘 이해가안되네요..
알고리즘을 자세히 설명해주실 순 없으신가요?
답변 2
1
우선 아래의 쿼리를 수행하시어 좀 더 상세한 부분들의 결과값을 확인하십시오.
교안의 첫번째 쿼리를 세부적으로 분해한 내용입니다.
WITH RECURSIVE tmp AS (SELECT 1 AS id UNION ALL SELECT id+1 FROM tmp WHERE id<12)
SELECT
id,
CURRENT_DATE() current_day,
(id- 2)*7 days,
DAYOFWEEK(CURRENT_DATE())+ 6 fromdate_days,
DATE_SUB(CURRENT_DATE(),INTERVAL (id- 2)*7+DAYOFWEEK(CURRENT_DATE())+ 6 DAY) AS fromdate,
DAYOFWEEK(CURRENT_DATE())- 0 todate_days,
DATE_SUB(CURRENT_DATE(),INTERVAL (id- 2)*7+DAYOFWEEK(CURRENT_DATE())- 0 DAY) AS todate
FROM tmp
ORDER BY id;
위에서 보면, "보라1번 - (주황1번 + 파랑1번)" 의 결과가 fromdate 입니다.(해당 주의 일요일)
또한, "보라1번 - (주황1번 + 초록1번)" 의 결과가 todate 입니다.(해당 주의 토요일)
더불어서 DAYOFWEEK(일자)의 결과값은 위에 기재한 바와 같이 일(1), 월(2),...,토(7)와 같이 정해진 정수값들을 출력합니다. 그에 따라 계산되어 만들어진 쿼리이며 이는 다양한 방식으로 수정하여 사용할 수 있습니다.
알고리즘이라면, id값이 순차적으로 변함에 따라 함께 변화하는 "(id- 2)*7" 값 등이 7씩 감소하는 것을 이용했다고 할 수 있습니다.
예를 들어, 유사 내부함수 WEEKDAY() 등을 통해 아래와 같이 "현재일을 기준으로 과거 요일들을 5주 전까지로 출력하기" 도 가능합니다. 사용하는 이에 따라 다양한 결과가 나올 수 있습니다. (WEEKDAY()는 출력 정수값이 다름)
SELECT
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+0) AS '월요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+1) AS '화요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+2) AS '수요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+3) AS '목요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+4) AS '금요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+5) AS '토요일',
ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7*(id-1)+6) AS '일요일'
FROM urlcodemap
ORDER BY id LIMIT 5;
물론, DAYOFWEEK()의 경우 역시 다양하게 변형시켜 사용될 수 있습니다.
SYSDATE 입력
0
22
1
테이블 생성 시 PK 및 제약조건 문의
0
28
1
TCL 문의
0
23
1
PK를 AUTO_INCREMENT UUID를 UNIQUE로 하는것에 대해
0
25
1
본질 및 인조 식별자 질문
0
24
1
pk를 auto increment로 하는것에 대해서
0
35
1
슈퍼키 문의
0
37
1
질문있습니다!
0
34
1
3-13 리텐션 과제 제출합니다!
0
62
2
실행 통계2 explain analyze 조인 쿼리
0
49
1
3강 인덱스 구조 강의 자료 문의
1
62
1
68강 문제 풀이
0
43
1
현대 쿼리 복잡성에 관한 질문
0
90
3
key_length 가 사용되는곳
0
48
1
[과제]1-9 피벗 테이블 만들어보기
0
65
2
cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?
0
61
2
아래 글들에서 적혀있는 노션 페이지를 찾을수 없다는데요..
0
52
1
공통 코드 VS Enum 클래스
1
50
1
강의 DB데이터 질문
0
61
1
극단적으로 from-to가 12일 이고, valid_to가 13일이면?
0
45
1
선생님 샤딩에 대한 강의도 좀 해주세요
0
57
1
몽고DB CAP 이론 관련
0
61
2
아니 이거 갑자기 데이터베이스가 사라졌어요
0
73
1
urlcodemap.sql 파일 다운 받는곳이 없어요
1
263
1





