기본적으로 총 합계를 일별로 그룹화하는 쿼리가 있습니다.
SELECT CountDate, SUM(Max_Count) as MaximumCount, SUM(Min_Count) as MinimumCount
FROM countTable
WHERE countId IN ('48', '34', '65', '63', '31', '64', '86')
AND CountDate BETWEEN '2014-08-14' AND '2014-08-16'
GROUP BY CountDate
ORDER BY CountDate
출력 결과는 다음과 같습니다.
Date | Maximum | Minimum
------------|-----------|----------------------
2014-08-14 | 3018234 | 3014212
2014-08-15 | 3023049 | 3018510
2014-08-16 | 3026813 | 3023244
마지막 날의 MaximumCount와 첫날의 MinimumCount 간의 차이를 쿼리에서 가져 오길 원합니다.
쿼리 결과는 마지막 날의 최대 값이어야합니다. 즉 2014-08-16 : 3026813에서 첫 번째 날의 최소값을 뺀 값 (예 : 2014-08-14)이어야합니다. 3014212. 따라서 3026813-3014212
내가 이것을 달성하는 방법에 대한 도움을 주시면 감사하겠습니다.
Jithin Shaji 답변을 참조하면이 쿼리로 결과가 있습니다.
DECLARE @STARTDATE DATE = '2014-08-14'
DECLARE @ENDDATE DATE = '2014-08-16'
DECLARE @NOOFDAYS INT = datediff(day, @STARTDATE, @ENDDATE)
SELECT A.CountDate,
A.MaximumCount - B.MinimumCount AS CountSum
FROM (
SELECT CountDate,
SUM(Max_Count) AS MaximumCount,
SUM(Min_Count) AS MinimumCount
FROM countTable
WHERE countId IN ('48','34','65','63','31','64','86')
AND CountDate BETWEEN @STARTDATE AND @ENDDATE
GROUP BY CountDate) A
LEFT JOIN (
SELECT DATEADD(DAY, @NOOFDAYS, CountDate) AS CountDate,
SUM(Max_Count) AS MaximumCount,
SUM(Min_Count) AS MinimumCount
FROM countTable
WHERE countId IN ('48','34','65','63','31','64','86')
AND CountDate BETWEEN @STARTDATE AND @ENDDATE
GROUP BY DATEADD(DAY, @NOOFDAYS, CountDate)) B
ON A.CountDate = B.CountDate
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다