Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 그룹 월과 연도?

<시간/>

MySQL의 DATE_FORMAT() 함수를 사용하여 월과 연도를 그룹화할 수 있습니다. GROUP BY 절도 사용됩니다.

구문은 다음과 같습니다 -

SELECT DATE_FORMAT(yourColumnName, '%m-%Y') from yourTableNameGROUP BY MONTH(yourColumnName), YEAR(yourColumnName)DESC;

위의 개념을 이해하기 위해 테이블을 만들어 보겠습니다. 다음은 테이블을 생성하는 쿼리입니다 -

mysql> Create table GroupMonthAndYearDemo −> ( −> DueDate datetime −> );쿼리 OK, 영향을 받은 행 0개(1.49초)

다음 쿼리를 사용하여 테이블에 레코드 삽입 -

mysql> Insert into GroupMonthAndYearDemo values(now());Query OK, 1행 영향(0.11초)mysql> Insert into GroupMonthAndYearDemo values(date_add(now(),interval 2 year));Query OK, 1행 영향 (0.12초)mysql> GroupMonthAndYearDemo 값에 삽입(date_add(now(),interval -2 year));Query OK, 영향을 받는 1개 행(0.10초)mysql> GroupMonthAndYearDemo 값에 삽입(date_add(now(),간격 1년) ));쿼리 확인, 1행 영향(0.16초)mysql> GroupMonthAndYearDemo 값에 삽입(date_add(now(),interval -1 year));쿼리 확인, 1행 영향(0.14초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> 선택 *GroupMonthAndYearDemo;

다음은 출력입니다 -

+---------------------+| 마감일 |+---------------------+| 2018-12-06 13:12:34 || 2020-12-06 13:12:59 || 2016-12-06 13:13:08 || 2019-12-06 13:13:14 || 2017-12-06 13:13:19 |+---------------------+5행 세트(0.00초)

월별, 연도별로 그룹화하는 쿼리는 다음과 같습니다. -

mysql> GroupMonthAndYearDemo에서 DATE_FORMAT(DueDate, '%m-%Y') 선택 -> GROUP BY MONTH(DueDate), YEAR(DueDate)DESC;

다음은 GROUP BY -

를 사용하여 그룹화된 월과 연도를 표시하는 출력입니다.
+-------------------------------+| DATE_FORMAT(마감일, '%m-%Y') |+---------------------------------------------+| 2020년 12월 12일 || 2019년 12월 12일 || 2018년 12월 12일 || 2017년 12월 12일 || 2016년 12월 |+-------------------------------+5행 세트, 2개의 경고(0.00초)