Хотелось бы рассчитать год среднем, ситуация выглядит следующим образом.Как рассчитать среднее значение в год во вложенном запросе?
Plant_ID | Year | Month | MR | Range
CCAR | 2009 | 1 | 0,706 | Null
CCAR | 2009 | 2 | 0,626 | 0,08
CCAR | 2009 | 3 | 0,637 | 0,11
CCAR | 2009 | 4 | 0,737 | 0,1
CCAR | 2009 | 5 | 0,552 | 0,19
CCAR | 2009 | 6 | 0,418 | 0,137
CCAR | 2009 | 7 | 0,503 | 0,085
CCAR | 2009 | 8 | 0,645 | 0,058
CCAR | 2009 | 9 | 0,743 | 0,098
CCAR | 2009 | 10 | 0,556 | 0,187
CCAR | 2009 | 11 | 0,298 | 0,258
CCAR | 2009 | 12 | 0,339 | 0,041
CCAR | 2010 | 1 | 0,381 | 0,042
Etc.
Я бы хотел добавить две колонки; 1 (aMR), который вычисляет средний MR (темп обслуживания) в год, поэтому один средний показатель за 2009 год, один за 2010 год и т. Д., А второй - вычисляет средний диапазон в год. Моя проблема в том, что я не знаю, где это сделать в моем запросе, потому что он немного усложнился, и я могу справиться ... Я уже сделал заявление, чтобы добавить colum aMR, который является средним значением MR (см. код запроса ниже). Но я не могу получить среднее значение в год (теперь он возвращает общее среднее значение всех значений MR). Может ли кто-нибудь помочь мне в этом?
WITH cte AS (
SELECT Plant_Id,
Jaar,
Maand,
(SUM(Compl) + 0.000)/SUM(Total) AS MR,
ROW_NUMBER() OVER (ORDER BY Jaar DESC,
Maand DESC) AS RowNumber
FROM (SELECT Plant_Id,
Jaar,
Late,
EarlyJobs,
OnTimeJobs,
Maand, SUM(EarlyJobs +OnTimeJobs) AS Compl,
SUM(EarlyJobs) + SUM(Late) + SUM(OnTimeJobs) AS Total
FROM MaintenanceRatebepaen AS MaintenanceRatebepaen_1
GROUP BY Plant_Id, Jaar, Maand, Late, OnTimeJobs, EarlyJobs) AS MaintenanceRatebepaen
WHERE (Jaar >= 2009) AND (Jaar <= 2011) AND (Plant_Id = 'CCAR')
GROUP BY Jaar, Plant_Id, Maand)
SELECT d1.Plant_Id,
d1.Jaar,
d1.Maand,
d1.MR,
abs(d1.MR - d2.MR) AS [ChangeMRFromPreviousMonth],
aMR =(SELECT avg(cte.MR) FROM cte)
FROM cte d1
LEFT OUTER JOIN cte d2 ON d2.RowNumber = (d1.RowNumber + 1)
ORDER BY d1.Rownumber DESC
Так что я хотел бы добавить две колонки; который вычисляет среднее значение MR (aMR) в год и второй столбец, который вычисляет средний диапазон в год. Может ли кто-нибудь помочь мне в этом? Я довольно новичок в SQL, и любая помощь будет принята с благодарностью!
Brilliant !! Он работает, спасибо вам большое! Я пробовал это несколько дней. – Benne