2016-07-21 7 views
1

저는 SQL 및 집계 함수를 처음 사용합니다.여러 집계 함수를 열 대신 행으로 출력합니다.

이 쿼리가 있으며 매월 최대 값만 입력하면됩니다.

SELECT max(case when LogDate < '2016-06-01' and LogDate >= '2016-05-01' THEN value end), 
     max(case when LogDate < '2016-07-01' and LogDate >= '2016-06-01' THEN value end), 
     max(case when LogDate < '2016-08-01' and LogDate >= '2016-07-01' THEN value end) 
FROM RawData 

그것은 대신 같은 열에서 행으로 출력을 만들 수있는 방법이 있지만 출력이 매달 별도의 컬럼에 넣고, 작동?

내가 SQL 서버 2012

답변

4

를 사용하고 이것은 매우 간단합니다.

"natural"출력은 행에 있습니다. 귀하의 질문에 코드는 열을 가로 질러 그것을 피벗 것입니다.

SELECT YEAR(LogDate) AS Year, 
     MONTH(LogDate) AS Month, 
     MAX(value) AS MaxValue 
FROM RawData 
WHERE LogDate >= '2016-05-01' AND LogDate < '2016-08-01' 
GROUP BY YEAR(LogDate), 
     MONTH(LogDate) 
+0

달, 연도 기능에 대해 잘 모름 –

관련 문제