쿼리문 질문 드립니다. 0 2 847

by 데므 [SQL Query] mysql query [2019.09.19 14:07:11]


안녕하세요. 프로젝트를 하던 중에  현재 날짜에서 그 한 주간의 데이터를 출력해주는 방법을 고심하다 잘 안돼어 이렇게 질문을 올립니다.

데이터를 출력해야할 테이블은 이렇게 구성이 되어있고 제가 하고 싶은 기능은 만약 오늘 날짜가 9월 첫 째주에 속하는 날 중에 하나이면(9월 첫째주 일~월 중 아무 날)  9월 첫째주 일~월 한 주간의 데이터 name,sum,re_day를 그룹화 하여 select를 하고 싶습니다. 도움을 주시면 정말 감사드리겠습니다.

 

이렇게 나왔으면 합니다.

by jkson [2019.09.19 16:04:47]
SELECT NAME, SUM, RE_DAY 
  FROM
  (
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-15','%Y-%m-%d') RE_DATE, 'Sunday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-16','%Y-%m-%d') RE_DATE, 'Monday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-17','%Y-%m-%d') RE_DATE, 'Tuesday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-18','%Y-%m-%d') RE_DATE, 'Wednesday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-19','%Y-%m-%d') RE_DATE, 'Thursday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-20','%Y-%m-%d') RE_DATE, 'Friday' RE_DAY UNION ALL
  SELECT '홍길동' NAME, 1194 SUM, STR_TO_DATE('2019-09-21','%Y-%m-%d') RE_DATE, 'Saturday' RE_DAY 
  ) T
 WHERE RE_DATE BETWEEN ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 1)
                   AND ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) + 5) 

다른 이야기지만 RE_DAY를 굳이 컬럼으로 관리하실 필요가 있나요? 요일별 합계 뭐 이런 통계가 따로 필요하신 게 아니라면..


by 데므 [2019.09.20 01:09:32]

답변 정말 감사드립니다! 그 부분은 저도 미처 생각해보지 않았네요 감사드립니다

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