집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 데이터를 주별로 그룹화하려면 어떻게 해야 합니까?
MySQL의 주별 그룹화: YEARWEEK 함수
MySQL은 데이터를 주별로 그룹화하는 데 사용할 수 있는 YEARWEEK 함수를 제공합니다. 이 함수는 특정 날짜의 연도 및 주 번호를 나타내는 문자열을 반환합니다. 예:
SELECT YEARWEEK('2023-03-08')
은 '202309'를 반환합니다. 이는 2023년 3월 8일이 2023년의 9번째 주에 속함을 나타냅니다.
YEARWEEK 함수에는 주 시작 모드를 지정하는 선택적 두 번째 인수가 포함되어 있습니다. 기본값은 1이며, 이는 주가 일요일에 시작됨을 나타냅니다. 모드 0은 주가 월요일에 시작함을 나타내고, 모드 2는 주가 토요일에 시작함을 나타냅니다.
YEARWEEK 함수를 사용하여 데이터를 주별로 그룹화하려면:
SELECT YEARWEEK(date, 0), COUNT(*) FROM table GROUP BY YEARWEEK(date, 0)
이 쿼리는 주가 월요일에 시작한다고 가정하고 '테이블'의 행을 주별로 그룹화합니다. 'COUNT(*)' 함수는 각 주의 행 수를 계산합니다.
YEAR 및 WEEK 함수 결합
주별로 그룹화하는 또 다른 접근 방식은 다음을 사용하는 것입니다. YEAR 및 WEEK 함수의 조합입니다. 이는 그룹화 논리를 더 강력하게 제어하려는 경우 유용할 수 있습니다. 예를 들어 다음 쿼리는 주 시작 모드에 관계없이 연도 및 주 번호별로 데이터를 그룹화합니다.
SELECT YEAR(date), WEEK(date), COUNT(*) FROM table GROUP BY YEAR(date), WEEK(date)
EDIT:
Martin이 언급한 대로 댓글을 사용하는 것보다 다음 공식을 사용하여 주별로 그룹화할 수도 있습니다.
CONCAT(YEAR(date), '/', WEEK(date))
이 접근 방식은 YEARWEEK 기능.
위 내용은 MySQL에서 데이터를 주별로 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!