У меня есть таблица, в которой я ежедневно отслеживаю показатели сбоев. Мне нужно получить средний, последние 3 дня, каждого столбца, чтобы внести коррективы. Моя хранимая процедура -Среднее значение по SQL Server за последние три дня
Create PROCEDURE [dbo].[dfc_sp_average_loan_failure]
AS
BEGIN
SELECT TOP(3)
AVG(usOnlineRate) AS usOnlineAverage
,AVG(usRetailRate) AS usRetailAverage
,AVG(cnOnlineRate) AS cnOnlineAverage
,AVG(cnRetailRate) AS cnRetailAverage
FROM dfc_LoanRateRecords
END
У меня есть четыре записи в таблице, но она продолжает давать мне среднюю первые три не последние три. Что мне нужно сделать?
Это верно, только если у него ровно 1 строка для каждой даты. – Ingaz
Вы можете заменить 'date' тем, что вы хотите заказать (номер кредита, id, ect.) Когда вы используете' TOP() 'в SQL, вы всегда должны включать предложение' ORDER BY'. –
@Ingaz Это правда. Это будет работать, только если у вас есть одна строка в день –