날짜의 요일을 반환해준다.
weekday('2023-05-26') 이런 식으로 사용 가능
SELECT date, WEEKDAY(date)
FROM TABLE_NAME
GROUP BY date
위 쿼리의 결과로 확인해본 결과
월요일(5월29일이 월요일)일 때 0이고 1씩 증가하다가 일요일일 때 6이다.
SELECT date, weekday(date),
(weekday(date)+3)%7,
DATE_SUB(date, INTERVAL (weekday(date)+3)%7 DAY) AS weekStart,
DATE_SUB(date, INTERVAL (weekday(date)+3)%7 -6 DAY) AS weekEnd
그리고 이 쿼리에서 오른쪽 두 컬럼은 주의 시작 기준을 금요일로하여 조회하고 싶을 때 사용하면 된다.
저렇게 weekStart와 weekEnd 두 필드를 조회하고
GROUP BY weekStart, weekEnd
이렇게 그룹 바이 해주면 금요일 기준으로 주별 조회 가능.