집 >데이터 베이스 >MySQL 튜토리얼 >사람이 읽을 수 있는 형식으로 SQL 결과를 월별 및 연도별로 그룹화하려면 어떻게 해야 합니까?
SQL 데이터베이스로 작업할 때 월 또는 연도 등 기간별로 데이터를 그룹화해야 하는 경우가 많습니다. 기본적으로 SQL의 GROUP BY 절은 개별 월 또는 연도를 기준으로 행을 그룹화합니다. 그러나 "월-연도"와 같이 사람이 더 읽기 쉬운 형식으로 결과를 표시해야 하는 상황이 발생할 수 있습니다.
데이터를 월별, 연도별로 그룹화하고 다음과 같이 결과를 표시하는 쿼리가 있다고 가정해 보겠습니다.
SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada FROM [Order] WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3') GROUP BY MONTH(date), YEAR(date)
이 쿼리는 첫 번째 열에 해당 날짜만 표시하는 결과를 반환합니다. 월(예: "9") 목표는 "9-2011"과 같은 결합된 형식으로 월과 연도를 표시하도록 쿼리를 수정하는 것입니다.
이를 달성하려면 다음을 사용할 수 있습니다. 월 및 연도 값을 문자열로 변환하는 CAST 함수:
SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, ...
월 및 연도 값을 문자열로 캐스팅하면 다음을 수행할 수 있습니다. 원하는 "월-연도" 형식으로 월과 연도를 결합하는 단일 문자열로 연결합니다.
월 값에 선행 0이 필요한 경우 다음 구문을 사용할 수 있습니다.
GROUP BY CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
이 표현식은 모든 월 값 앞에 0이 포함되도록 하여 결과를 보다 일관되고 시각적으로 만듭니다. 매력적입니다.
위 내용은 사람이 읽을 수 있는 형식으로 SQL 결과를 월별 및 연도별로 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!