>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 데이터를 주별로 그룹화하려면 어떻게 해야 합니까?

MySQL에서 데이터를 주별로 그룹화하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-04 18:46:20739검색

How Can I Group Data by Week in 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.